linux 下創建一個C++工程


熟悉了Windows平臺下編譯一個C++工程後,你是否會提出這樣一個問題:在Linux平臺下又如何編譯一個C++工程呢?

希望本文能給正在學習或想學習Linux C++開發的你起到拋磚引玉的作用。 

首先,你必須有一個Linux開發環境,這樣才能進行C++開發。筆者用的是安裝在虛擬機中的Ubuntu 9.04,Ubuntu操作系統是沒帶C++編譯器g++。在連網的情況下,在終端中使用root超級用戶權限輸入以下命令: 
sudo apt-get install g++ 
並回車即可安裝C++編譯器g++。 

安裝完畢,即可開始新建我們的一個C++工程了。下面以一個hello工程爲例,簡單地介紹如何編譯一個 C++工程。 

登錄Linux系統,打開終端,在當前目錄下使用mkdir命令新建一個hello的目錄;然後使用cd hello進入hello目錄中,並使用vi工具新建hello.h、hello.cpp、main.cpp、makefile四個文件。四個文件的內容分別如下: 
1. hello.h文件 
/* 
* hello.h 

*  Created on: 2009-6-27 
*      Author: young 
*/ 
#ifndef HELLO_H_ 
#define HELLO_H_ 
class Hello { 
public: 
void print(); 
}; 
#endif /* HELLO_H_ */ 

2. hello.cpp文件 
#include "hello.h" 
#include <iostream> 
using namespace std; 
void Hello::print() { 
       cout<<"Hello, welcome to Redhat Linux os!"<<endl; 


3. main.cpp文件 
#include "hello.h" 
#include <iostream> 
using namespace std; 
int main() { 
     Hello h; 
     h.print(); 
     return 0; 

注意:這三個文件要以空白行結束,否則編譯時會有警告信息。 

4. makefile文件 
# this is a makefile of the c++ project hello 
# the standard c++ compiler in the Redhat linux is g++ 
# written by young on June 27th, 2009 
      TARGET = . 
          CC = g++ 
      CFLAGS = -g 
      CFLAGC = -c 
       
      MAINC = main.cpp 
      HELLO = hello.cpp 
        OBJ = hello.o 
       
      INCLUDE = -I$(TARGET) 
         EXEC = $(TARGET)/main 
       
all: $(EXEC) 
$(EXEC): $(OBJ) $(MAINC) 
$(CC) $(CFLAGS) $(OBJ) $(MAINC) $(INCLUDE) -o $@ 
rm -f $(OBJ) 
@echo "<<<<<< $@ is created successfully! >>>>>>" 
$(OBJ): $(HELLO) 
$(CC) $(CFLAGC) $(HELLO) -o $@ 
clean: 
rm -f $(EXEC) 
注意: makefile文件中的命令行(紅色字體)一定要以Tab建開頭,否則編譯通不過。 

寫好makefile文件後,即可編譯工程。在終端中輸入make命令,回車後將顯示如下信息: 
g++ -c hello.cpp -o hello.o 
g++ -g hello.o main.cpp -I. -o main 
rm -f hello.o 
<<<<<< main is created successfully! >>>>>> 
這些信息說明工程已被正確編譯,當前目錄下將生成一個main的可執行文件。 
同樣,你也可以不使用makefile文件,而直接在終端上輸入以下兩行命令: 
g++ -c hello.cpp -o hello.o 
g++ -g hello.o main.cpp -I. -o main 
也可以編譯這個工程。 

使用ls -l命令查看當前目錄下的所有文件,確實有一個main文件。 
在終端中輸入./main,即可運行程序。
發佈了26 篇原創文章 · 獲贊 7 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章