parte del mio makefile si presenta così ...come sopprimere "il file linker non utilizzati" durante la compilazione
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)
che mi dà il seguente avviso su di compilazione:
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
ora, so che sto ottenendo che avviso perché ho sicuramente dovrebbe (l'opzione -c specificamente dice di non collegare)! ma voglio spegnerlo, so che sto collegando troppo e sto bene con quello. come posso disattivare questo avviso?
quando li divido in '$ (ldflg)' e '$ (ccflg)', ricevo un sacco di avvertimenti dopo 'g ++ -c glfuns.cpp -Wno-write-strings -O2 -Dvis' dicendo che certe cose (GLUT_DOUBLE, ad esempio) non sono stati dichiarati in questo ambito. quando compilo quella riga con ldflg e ccflg, però, compila ma ricevo quegli avvertimenti. EDIT: avevo ccflg e ldflg confusi! Grazie! – drjrm3
Ho un problema simile: con passaggio -Wl, -rpath-link a gcc. Fa parte dei nostri CFLAG e ci vorrebbe un po 'di ri-lavoro per sbarazzarsi di. So che è sbagliato, ma speravo in una soluzione rapida. Bloccare il moderno GCC per volere che le cose siano corrette! (questo è sarcasmo BTW) –