
与GCC编译器的搏斗史
编译的一些原理
标准库文件路径
其实在linux下可以很容易看出来编译过程和标准库的原理,标准库的头文件都在/usr/include/c++/
中,linux系统头文件在/usr/include/
下。
而标准库、系统库,既然叫库,它必然也是有库文件的,他们在:/usr/lib/gcc/
和/lib/
下。
使用标准库
std
命名空间下的库不需要手动指定,但是其他的一些库是需要指定的,比如 \std
命名空间下,头文件应该是 <experimental/filesystem>。而要在c++14中使用filesystem,需要额外链接libstdc++fs.a。
但是链接库的过程中,不能简单的增加编译参数 -lstdc++fs
,这会使得参数被添加到编译过程而不是链接过程,应该在构建工具的代码中(比如qmake),使用LIBS += -lstdc++fs
等语句使得参数添加到链接过程。

