1. 程式人生 > >linux下如何執行c++程式(包括呼叫外部函式庫)

linux下如何執行c++程式(包括呼叫外部函式庫)

這個問題困擾了我好久,但在網路上搜索很久也沒有找到具體的,條理清晰的一篇。所以,自己動手豐衣足食(拖拖拖了一個月。。)

  • 執行c++程式

事實證明gcc是理解不了c++的。。
用g++執行你的程式,比如:g++ main.cpp
g++產生一個.out檔案,如果跳轉到下一句就意味著執行成功(廢話)。這時如果沒有指定名字的話,就是a.out檔案(用-o 指定編譯後的名字)./a.cout就能執行那個c++程式了。

  • 呼叫庫

呼叫外部函式庫的方法,之所以管他叫呼叫,因為。。根本不用在外部引入。。伺服器上都有的。。
庫不是library嘛,就用-l+lib名去掉.so,比如說:pthread就是-lpthread,zlib.h庫就是-lz,math的庫名是libm.so,顯而易見就是-lz。這個可以用命令ldconfig –p自己檢視已快取的,還是要具體看一下庫名的。
所有外部庫,或者這樣:vim /etc/ld.so.conf
(大概會顯示include ld.so.comf.d/*conf
進入目錄檢視檔案ll ld.so.conf.d/ 就好啦)

編譯時出現瞭如果出現這種錯誤資訊:

error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.

提示上加上-std=c++0x或者-std=gnu++0x選項(這個是c++的版本問題)。加上就解決了~

  • 總結

最後,附上我自己的那個c++程式的執行命令:
g++ main.cpp -std=c++0x -lpthread -lboost_regex -lz -o pro

其實我這篇寫的也不是很清楚,並且只有說一些操作問題,可能是我太小白了吧,還是要好好學習啊。。