2024-09-28 03:20:34 发布
网友
我试图在makefile中包含指向额外库的路径,但我不知道如何让编译器使用该路径。到目前为止,我已经:
g++ -g -Wall testing.cpp fileparameters.cpp main.cpp -o test
我想包括
/data[...]/lib
因为testing.cpp包含该库中的文件。另外,我在一台linux机器上
编辑:不是库的路径。仅限于包含的文件。我的错
或者,您可以设置环境变量。 假设您正在使用bash,然后在~/.bashrc中写入
bash
~/.bashrc
C_INCLUDE_PATH="/data/.../lib/:$C_INCLUDE_PATH" ## for C compiler CPLUS_INCLUDE_PATH="/data/.../lib/:$CPLUS_INCLUDE_PATH" ## for Cpp compiler export C_INCLUDE_PATH export CPLUS_INCLUDE_PATH
并用source ~/.bashrc将其来源。 你该走了
source ~/.bashrc
要指定搜索(二进制)库的目录,只需使用-L:
-L
-L/data[...]/lib
要指定实际的库名称,请使用-l:
-l
-lfoo # (links libfoo.a or libfoo.so)
要指定搜索包含文件的目录(不同于库!),请使用-I:
-I
-I/data[...]/lib
所以我认为你想要的是
g++ -g -Wall -I/data[...]/lib testing.cpp fileparameters.cpp main.cpp -o test
这些编译器标志(以及其他标志)也可以在GNU GCC命令选项手册中找到:
在MakeFile或CMakeLists.txt中,您可以如下设置CMAKE_CXX_标志:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/path/to/your/folder")
或者,您可以设置环境变量。 假设您正在使用
bash
,然后在~/.bashrc
中写入并用
source ~/.bashrc
将其来源。 你该走了要指定搜索(二进制)库的目录,只需使用
-L
:要指定实际的库名称,请使用
-l
:要指定搜索包含文件的目录(不同于库!),请使用
-I
:所以我认为你想要的是
这些编译器标志(以及其他标志)也可以在GNU GCC命令选项手册中找到:
在MakeFile或CMakeLists.txt中,您可以如下设置CMAKE_CXX_标志:
相关问题 更多 >
编程相关推荐