我的问题
我在某个地方读到,要将include路径添加到g++,您需要使用-I
选项:
g++ -I /some/directory and_then_my_files.cpp
然而,我不确定这是否真的是我所需要的。它目前对我不起作用,我找不到任何其他接近我现有的东西。
我的设置
我有一个包含所有当前项目代码的目录,其中有一个子目录classes
,其中包含各种.h
和.cpp
文件,这些文件包含编译主文件时可能使用或不使用的类。
由于g++ ./classes/*.cpp main.cpp
需要很长时间(classes
目录中有大量文件),我正在寻找一种只编译和链接主文件中包含的文件的替代方案。
主文件:
#include "classes/a.h"
#include "classes/b.h"
// ... my code
正如您所能想象的,g++抱怨对类A和B的未定义引用,除非我将./classes/*.cpp
添加到构建命令中。
我想要实现的目标
所以-I
和-L
不起作用,将整个目录添加到build命令中会导致构建时间长得离谱——我说的是3-5分钟,这确实降低了我的开发速度。
有没有什么方法可以只构建/链接classes
目录中包含的类,比如我上面给出的例子中的只构建类A和B?
我已经尝试过的小回顾
g++ -I ./classes main.cpp -o main
g++ -L ./classes main.cpp -o main
(可能很愚蠢,但我还是试过了)
g++ ./classes/*.cpp main.cpp -o main
(我目前不得不求助的)
提前感谢:)
的临时解决方案
export CPLUS_INCLUDE_PATH=/usr/local/include