parte de mi makefile se parece a esto ...cómo suprimir "archivo enlazador sin usar" al compilar
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)
que me da la siguiente advertencia sobre la compilación:
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
ahora, sé que recibo esa advertencia porque definitivamente debería (¡la opción -c específicamente dice que no se vincule)! pero quiero apagarlo, sé que estoy vinculando demasiado y estoy de acuerdo con eso. ¿Cómo apago esa advertencia?
cuando los divido en '$ (ldflg)' y '$ (ccflg)', recibo un montón de advertencias después de 'g ++ -c glfuns.cpp -Wno-write-strings -O2 -Dvis' diciendo que ciertas cosas (GLUT_DOUBLE, por ejemplo) no se declararon en este ámbito. cuando compilo esa línea con ldflg y ccflg, sin embargo, se compila pero recibo esas advertencias. EDITAR: ¡tuve ccflg y ldflg mezclados! ¡Gracias! – drjrm3
Tengo un problema similar: al pasar -Wl, -rpath-link a gcc. Es parte de nuestro CFLAGS, y nos llevaría un poco de trabajo volver a deshacernos de él. Sé que está mal, pero esperaba una solución rápida. ¡Arruine al CCG moderno por querer que todo sea correcto! (Eso es sarcasmo por cierto) –