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)