2008-10-13 123 views
3

我有一個存根Qt應用程序和我不斷收到編譯器錯誤在Windows XP編譯Qt的程序使用MinGW的G ++

#include <QApplication> 

int main(int argc, char *argv[]) 
{ 
    return 0; 
} 

我以前qmake -projectqmake命令並儘可能我可以告訴 他們做他們的工作正確。當我後來在命令行 調用make我得到以下錯誤:

g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT 
-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I 
'../../../../qt/include/QtCore' -I'../../../../qt/include/QtCore' -I'../../../.. 
/qt/include/QtGui' -I'../../../../qt/include/QtGui' -I'../../../../qt/include' - 
I'.' -I'c:/qt/include/ActiveQt' -I'release' -I'.' -I'../../../../qt/mkspecs/defa 
ult' -o release/Main.o Main.cpp 
cc1plus.exe: Invalid option 'threads' 
make[1]: *** [release/Main.o] Error 1 
make: *** [release] Error 2 

我在谷歌搜索告訴我,線程是重要的是保持卻不怎麼 修復此錯誤。任何幫助將不勝感激。

編輯(從左邊答案複製的OP):

我現在得到:

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc 
-Wl,-s -pthread -Wl -Wl,-subsystem,windows -o release/raytrace.exe 
object_scr ipt.raytrace.Release -L'c:/qt/lib' -lmingw32 -lqtmain -lQtGui -lgdi32 
-lcomdlg3 2 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 
-luser32 - lshell32 -luuid -lole32 -ladvapi32 -lws2_32 
g++: unrecognized option `-pthread' 
/cygnus/cygwin-b20/H-i586-cygwin32/i586-cygwin32/bin/ld: cannot open -lmsimg32: 
No such file or directory collect2: 
ld returned 1 exit status make[1]: *** 
[release/raytrace.exe] Error 1 make: *** [release] Error 2 

回答

0

基於來自提問,而不是原來的問題後的響應。

從MSYS提示運行「ls /mingw/lib/libmsimg32.a」並查看是否有該文件。我的安裝(MinGW GCC 3.4.5)。如果你有這個文件,你可能需要添加-L/mingw/lib。如果你沒有這個文件,你可能錯過了安裝MinGW的windows api部分。

無論哪種方式刪除-pthread。你正在使用Win32 api。

如果這不起作用,您需要指定您正在使用的MinGW的版本,並且如果您使用MSYS,則使用MSYS的版本。

2

好吧,我在安裝從網上下載的MingW之前,有類似的問題,但另一方面,在安裝Qt時,它會要求您下載與Qt兼容的MingW版本。那麼你是否在Qt安裝程序問你時嘗試過安裝它?

+0

Qt安裝程序?我只能找到源包... – user8923 2008-10-14 03:23:11

3

++米洛特

我只用MinGW的編譯的Qt在Windows上,這就是要確保你有你需要的一切的最簡單的方法。

這裏是鏈接,開源的Qt版本:「包括或下載的Qt與MinGW的編譯器:尺寸:149,3 MB」 http://trolltech.com/downloads/opensource/appdev/windows-cpp

使用該鏈接。

使用MinGW的另一種方式是使用MinGW編譯Qt,然後編譯您的應用程序,但這取決於您是在MSYS中編譯還是僅使用MinGW。

1

Qt 4.5擁有易於開發應用程序的Qt Creator 1.1。

設計和編碼結合Qt Creator和mucy更易於使用。

運行應用程序時,你可以體驗到它像用VB IDE(或者說像Eclipse,NetBeans中,等。)

。該項目以調試或發佈模式進行編譯。

相關問題