我正在为自己编写一个cpp库,我已将deader文件放在<root>/include
文件夹和<root>/src
文件夹中的cpp文件中。要将我的包含路径添加到环境中,我已将<root>/include
附加到CPLUS_INCLUDE_PATH
。现在,我面临的问题是我在链接步骤中遇到错误,因为链接器无法找到我的类的实现。是否有任何环境变量,我可以像我对头文件所做的那样提及它?
答案 0 :(得分:1)
你做不到。链接器需要编译代码,无法处理源文件。你可以做的是编写一个Makefile,它将编译/ src文件夹中的所有源文件,并将编译后的文件链接到目标。 Makefile执行此操作的示例:
ROOT = YOUR_ROOT_DIRECTORY_HERE
LDFLAGS = OPTIONS_TO_LINKER_HERE
CPPFLAGS = OPTIONS_TO_COMPILER_HERE
SRC=$(wildcard $(ROOT)/src/*.cpp)
your_app: $(SRC)
g++ $(CPPFLAGS) $(LDFLAGS) -o $@ $^
使用以下代码编译您的应用:make your_app
或make
。