【发布时间】:2012-11-01 10:45:58
【问题描述】:
所以我的任务很简单,我已经创建了 makefile(使用 makefile 新建),并且我想将我的 .o 文件保存在不同的文件夹中,以便拥有一个更干净的目录并允许其他人使用 .o 文件。
我搜索并发现许多解决方案指向使用 -o $
但是,它给了我g++: cannot specify -o with -c or -S with multiple files
这就是我想做的:
$(OBJECT_PATH)/file1.o: $(SOURCE_PATH)/file2.cpp $(SOURCE_PATH)/file1.cpp
$(CC) $(CFLAGS) $(SOURCE_PATH)/file2.cpp $(SOURCE_PATH)/file1.cpp -o $@
file1.cpp 有#include "file1.h",所以从我读到的内容中,我应该在依赖项中包含 file1.cpp。但是,现在我无法导出到其他目录。
有解决办法吗?还是我的概念有误?
【问题讨论】:
-
为什么你有一个单个
file1.o取决于两个 源文件file2.cpp和file1.cpp?这很不寻常.... 通常file1.o依赖于file1.cpp和其他头文件,而file2.o依赖于file2.cpp和其他头文件.... 整个可执行文件由file1.o和@ 组成987654331@ etc.. 与一些库链接。