Path 如何在g++;

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 要指定实际的库名称,请使

我试图在makefile中包含指向额外库的路径,但我不知道如何让编译器使用该路径。到目前为止,我已经:

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命令选项手册中找到:


在MakeFile或CMakeLists.txt中,您可以按如下方式设置CMAKE\u CXX\u标志:

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:要链接的库的名称。可能与的重复