熟悉了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 ;
#endif /* hello_h_ */
2. hello.cpp檔案
#include "hello.h"
#include
using namespace std;
void hello::print()
注意:這三個檔案要以空白行結束,否則編譯時會有警告資訊。
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,即可執行程式。
在window平台下編譯ffmpeg
mingw是什麼?mingw是建立在gcc和binutils專案上的,用來編譯和連線 使之執行在windows系統上 提供c c 和fortran編譯器和相關工具 mingw minimalist gnu for windows mingw使用微軟的執行庫,生成windows下的 因為不使用gnu ...
WebKit 在 Windows 平台下編譯小結
webkit 是世界公認的優秀的開源瀏覽器核心。具有渲染速度快,靈活可定製,多平台支援等優點。國內知名的maxthon 和 ucweb 都將webkit選作瀏覽器核心。谷歌公司和蘋果公司也分別在webkit 基礎上只做了chrome 瀏覽器和safari 瀏覽器。雖然webkit 已經越來越多的被廣...
WebKit 在 Windows 平台下編譯小結
雖然webkit 已經越來越多的被廣大程式設計師接受,但其編譯過程卻非常之痛苦。下面將我編譯webkit 的經驗與大家分享。獲取webkit 源 webkit 源 在本文寫作時,版本是r52221webkit 編譯環境的搭建 webkit 有一篇文章說明了一下webkit 在windows 平台下的...