部分看起来是这样的,当...如何抑制“连接文件未使用”编译生成文件我的
ifdef vis
flg += -framework GLUT -framework OpenGL -Dvis
obj += camfun.o glfuns.o
endif
...
all: driver.cpp header.h $(obj)
$(cc) -o $(exe) driver.cpp $(obj) $(flg) $(lib)
funs.o: header.h funs.cpp
$(cc) -c funs.cpp $(flg)
glfuns.o: header.h glfuns.cpp
$(cc) -c glfuns.cpp $(flg)
camfun.o: header.h camfun.cpp
$(cc) -c camfun.cpp $(flg)
这使我在编译如下警告:
g++ -c camfun.cpp -Wno-write-strings -O2 -framework GLUT -framework OpenGL -Dvis
i686-apple-darwin10-g++-4.2.1: -framework: linker input file unused because linking not done
i686-apple-darwin10-g++-4.2.1: GLUT: linker input file unused because linking not done
i686-apple-darwin10-g++-4.2.1: -framework: linker input file unused because linking not done
i686-apple-darwin10-g++-4.2.1: OpenGL: linker input file unused because linking not done
现在,我知道我得到那个警告,因为我绝对应该(-c选项专门告诉它不要链接)!但我想关掉它,我知道我连接太多了,而且我确定。我如何关闭该警告?
当我将它们分成'$(ldflg)'和'$(ccflg)'时,我在'g ++ -c glfuns.cpp -Wno-write-strings -O2 -Dvis'后面看到一堆警告,例如GLUT_DOUBLE)未在此范围内声明。当我用ldflg和ccflg编译该行时,虽然它编译了但我得到了这些警告。 编辑:我有ccflg和ldflg混合!谢谢! – drjrm3 2012-03-16 13:09:48
我有一个类似的问题:将-Wl,-rpath-link传递给gcc。这是我们CFLAGS的一部分,并且需要一些重新工作才能摆脱。我知道这是错的,但我希望有一个快速解决方案。鼓励现代GCC希望事情是正确的! (这是讽刺) – 2012-09-11 22:07:42