【发布时间】:2014-09-01 20:24:58
【问题描述】:
我正在尝试在 cygwin 上编译一个简单的程序。我不知道为什么我的 IDE(Netbeans)试图使用“-c”标志。在 Project Properties->C++ compiler->Additional options 我没有'-c'标志。如何解决?
"/usr/bin/make" -f nbproject/Makefile-Release.mk QMAKE= SUBPROJECTS= .clean-conf
make[1]: Entering directory '/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_3'
rm -f -r build/Release
rm -f dist/Release/Cygwin-Windows/cppapplication_3.exe
make[1]: Leaving directory '/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_3'
CLEAN SUCCESSFUL (total time: 1s)
"/usr/bin/make" -f nbproject/Makefile-Release.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_3'
"/usr/bin/make" -f nbproject/Makefile-Release.mk dist/Release/Cygwin-Windows/cppapplication_3.exe
make[2]: Entering directory '/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_3'
mkdir -p build/Release/Cygwin-Windows
rm -f build/Release/Cygwin-Windows/main.o.d
i686-pc-mingw32-g++ -E -c -O2 -I/usr/include -I/usr/include/apr-1 -I/usr/include/libxml2 -I/usr/include/boost -I/usr/local/apr -std=c++11 -MMD -MP -MF build/Release/Cygwin-Windows/main.o.d -o build/Release/Cygwin-Windows/main.o main.cpp
mkdir -p dist/Release/Cygwin-Windows
i686-pc-mingw32-g++ -E -o dist/Release/Cygwin-Windows/cppapplication_3 build/Release/Cygwin-Windows/main.o
i686-pc-mingw32-g++: warning: build/Release/Cygwin-Windows/main.o: linker input file unused because linking not done
make[2]: Leaving directory '/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_3'
make[1]: Leaving directory '/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_3'
BUILD SUCCESSFUL (total time: 1s)
【问题讨论】:
-
-E 选项很奇怪。 man:"-E 在预处理阶段后停止;不要正确运行编译器。" -c 选项是正常的。例如见stackoverflow.com/questions/2395158/…
-
啊...我想知道如果这是预处理器后的 C++ 代码,为什么 main.o 文件不会产生错误。它应该是链接器的不兼容输入!?