Path 如何在g++;
我试图在makefile中包含指向额外库的路径,但我不知道如何让编译器使用该路径。到目前为止,我已经:Path 如何在g++;,path,g++,Path,G++,我试图在makefile中包含指向额外库的路径,但我不知道如何让编译器使用该路径。到目前为止,我已经: g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test 我想包括 /data[...]/lib 因为testing.cpp包含该库中的文件。另外,我在一台linux机器上 编辑:不是库的路径。仅限于包含的文件。我的坏。要指定要搜索(二进制)库的目录,只需使用-L: -L/data[...]/lib 要指定实际的库名称,请使
g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test
我想包括
/data[...]/lib
因为testing.cpp包含该库中的文件。另外,我在一台linux机器上
编辑:不是库的路径。仅限于包含的文件。我的坏。要指定要搜索(二进制)库的目录,只需使用
-L
:
-L/data[...]/lib
要指定实际的库名称,请使用-l
:
-lfoo # (links libfoo.a or libfoo.so)
要指定搜索包含文件的目录(不同于库!),请使用
-I
:
-I/data[...]/lib
所以我认为你想要的是
g++ -g -Wall -I/data[...]/lib testing.cpp fileparameters.cpp main.cpp -o test
这些编译器标志(以及其他标志)也可以在GNU GCC命令选项手册中找到:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/path/to/your/folder")
基本上是在需要之前的某个地方;例如,
-I
应该放在.cpp文件名之前。是否可以让编译器完成这一功能,比如将库添加到系统变量?@Fred,是的,g++知道哪些可以用来控制包含路径、库路径等。-L和-I(大写I,而不是小写L)之间有什么区别?@Youda008 Capital-ell:图书馆的搜索路径。大写眼睛:包含文件的搜索路径。Small ell:要链接的库的名称。可能与的重复