use*_*179 6 makefile compilation g++
我正在尝试使用其他库文件编译库文件.我在makefile中使用以下行来创建gameobject.o:
lib/gameobject.o: src/gameobject.cpp src/vector.hpp lib/objectevent.o lib/sprite.o
g++ $^ -c -o $@ $(SFML_FLAGS)
Run Code Online (Sandbox Code Playgroud)
所有依赖项都正确编译,但在尝试编译gameobject.o时出现以下错误:
g++: fatal error: cannot specify -o with -c, -S or -E with multiple files
Run Code Online (Sandbox Code Playgroud)
我使用make/separation编译还是有点新,所以我不太清楚应该做什么.我是否只需编译它而不设置输出?我是否必须在不使用任何其他.o文件的情况下编译gameobject.o?如果这是真的,如果您无法使用其他库编译库,那么对于大型对象,编译时间是否会变得非常大?或者我只是读错了这个错误?
Mad*_*ist 10
你没有在这里建立一个库文件.甲.o文件是一个目标文件.通常,每个源文件都有一个目标文件.使用编译器-c选项时,它会获取单个源文件并将其编译为单个目标文件.您无法将其他对象文件添加到现有对象文件中,因此将两个文件.o和.cpp文件添加到同一编译器行中-c是行不通的.
如果你想创建一个库,那就像libfoo.a("a"在这里代表"archive").如果要创建可执行文件,也可以执行此操作.
在我们描述如何获得结果之前,您需要更清楚地了解您想要的结果.
| 归档时间: |
|
| 查看次数: |
4416 次 |
| 最近记录: |