c++常用库学习

  在c++中使用别人的库比java中麻烦一点,一般需要自己下载源码,使用make,cmake等工具编译,并且c++的库并不是很多,使用的时候回遇到很多问题。eclipse对于c++开发还是比较友好的,可以读取到c++的header文件和连接库(编译时也会以此为相对路径读取),比如头文件/usr/include, /usr/local/include, /user/lib, /usr/local/lib。但是这篇博文说只能链接到/usr/lib:http://www.voidcn.com/article/p-spjcvdzc-bum.html.

  我在GitHub下载了一个常用的fmt库,试用一下。这个库很成熟了,编译安装脚本都有了,但是在eclipse中调试好久后,都提示编译错误,什么x86啦,我以为是gcc的版本和编译-std的问题。折腾了很久,发现好像没有连接/usr/local/lib????  

make all 
Building file: ../src/learn_folly.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++17 -MMD -MP -MF"src/learn_folly.d" -MT"src/learn_folly.o" -o "src/learn_folly.o" "../src/learn_folly.cpp"
Finished building: ../src/learn_folly.cpp
 
Building target: learn_folly
Invoking: MacOS X C++ Linker
g++  -o "learn_folly"  ./src/learn_folly.o  /usr/local/lib/libfmt.a 
Finished building target: learn_folly

 从eclipse这个编译的命令行,可以看见使用了我配置的-std=c++17。同时使用macos的linker,连接了libfmt.a的库。

  但是我用命令行去连接那个库时,还是报错。说明我还没有彻底弄明白这个机制。

猜你喜欢

转载自www.cnblogs.com/Robin008/p/12080917.html