Ubuntu下C++編譯指令總結


本實例只是簡單的調用了一個libcurl.a的靜態庫,實例代碼如下:

#include <curl/curl.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	cout << curl_version() << endl;
	return 0;
}

最簡單的編譯指令

直接命令行輸入下面的命令:

g++ main.cpp -lcurl -I/usr/include/ -L/usr/lib/x86_64-linux-gnu  //完整的編譯指令

上面的是完整的編譯指令:

  • -l<靜態庫> 是指明編譯時引用哪個靜態庫;
  • -I<頭文件路徑> 是指明需要用到的頭文件;
  • -L<庫文件路徑> 是為了指明靜態庫文件所在的目錄

但在我自己的服務器上,我是進行了默認安裝的,所以靜態庫的相關文件都是放置在編譯器默認目錄下,所以就用更簡單的:

g++ main.cpp –lcurl


Makefile方式的編譯

主要是寫一個Makefile:

LIB = -lcurl
INCLUDE = /usr/include
LIB_PATH = /usr/lib/x86_64-linux-gnu

main: main.o
	g++ -o main main.o -I$(INCLUDE) -L$(LIB_PATH) $(LIB)


CMake方式的編譯

主要是寫一個CMakeLists.txt:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(stocks)
AUX_SOURCE_DIRECTORY(./ DIR_SRC)
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu/")
ADD_EXECUTABLE(stocks ${DIR_SRC})
TARGET_LINK_LIBRARIES(stocks curl)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM