2013-02-12 73 views
0

我已經在Windows 7上成功構建Qt 4.8.4,現在我正在嘗試構建針對該版本的Qt Jambi。當我在Qt的佔碑源目錄中運行螞蟻揭開序幕構建我只得到一部分的方式,然後我結束了以下Qt Jambi構建失敗(VS2010)

cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_QTJAMBI_IMPORT -DQT_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\qt-everywhere-opensource-src-4.8.4\include\QtCore" -I"..\..\qt-everywhere-opensource-src-4.8.4\include" -I"..\qtjambi" -I"..\common" -I"C:\Program Files\Java\jdk1.7.0_09\include" -I"C:\Program Files\Java\jdk1.7.0_09\include\win32" -I"." -I"..\..\qt-everywhere-opensource-src-4.8.4\include\ActiveQt" -I"release" -I"..\..\qt-everywhere-opensource-src-4.8.4\mkspecs\default" -Forelease\ @C:\Users\TYLERS~1\AppData\Local\Temp\nmFBCC.tmp qtjambishell_QLocale.cpp 

..\cpp\com_trolltech_qt_core\qtjambishell_QLocale.cpp(885) : error C2084: function 'jobject Java_com_trolltech_qt_core_QLocale__1_1qt_1toCurrencyString_1int_1String__JILjava_lang_String_2(JNIEnv *,jobject,jlong,jint,jobject)' already has a body 

..\cpp\com_trolltech_qt_core\qtjambishell_QLocale.cpp(808) : see previous definition of 'Java_com_trolltech_qt_core_QLocale__1_1qt_1toCurrencyString_1int_1String__JILjava_lang_String_2' 

..\cpp\com_trolltech_qt_core\qtjambishell_QLocale.cpp(909) : error C2084: function 'jobject Java_com_trolltech_qt_core_QLocale__1_1qt_1toCurrencyString_1long_1String__JJLjava_lang_String_2(JNIEnv *,jobject,jlong,jlong,jobject)' already hasa body 

..\cpp\com_trolltech_qt_core\qtjambishell_QLocale.cpp(832) : see previous definition of 'Java_com_trolltech_qt_core_QLocale__1_1qt_1toCurrencyString_1long_1String__JJLjava_lang_String_2' 

..\cpp\com_trolltech_qt_core\qtjambishell_QLocale.cpp(933) : error C2084: function 'jobject Java_com_trolltech_qt_core_QLocale__1_1qt_1toCurrencyString_1char_1String__JCLjava_lang_String_2(JNIEnv *,jobject,jlong,jchar,jobject)' already has a body 

..\cpp\com_trolltech_qt_core\qtjambishell_QLocale.cpp(856) : see previous definition of 'Java_com_trolltech_qt_core_QLocale__1_1qt_1toCurrencyString_1char_1String__JCLjava_lang_String_2' 

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2' 
Stop. 
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2' 
Stop. 
NMAKE : fatal error U1077: 'cd' : return code '0x2' 
Stop. 

有關於這個錯誤number-- http://msdn.microsoft.com/en-us/library/dt309377.aspx幾MSDN項和http://msdn.microsoft.com/en-us/library/s99zy1dh(v=vs.100).aspx。這些都沒有什麼幫助。

有沒有人成功地完成了我所嘗試的?

回答

0

在VS2010上構建QtJambi確實有效。

請確認您從哪裏獲得Qt SDK以及從哪裏獲得QtJambi源。

您應該與Nokia或Digia SDKs或Qt Project合作。例如https://qt-project.org/downloads中的4.x(注意5.x在此時可能不適用於2014年初)。

你應該從git樹工作https://qt.gitorious.org/qt-jambi/qtjambi-community(這是唯一維護的樹)。請確認您正在使用的提交ID。

如果你沒有git的爲Win7的看看http://git-scm.com/download/win一旦安裝,你可以打開「混帳bash的」外殼和一個乾淨的目錄結賬源與git clone git://gitorious.org/qt-jambi/qtjambi-community.git

你能確認你已經正確啓動您的使用VS2010提供的開始菜單選項,Win7上的cmd.exe shell。如Visual Studio 2010 Command Prompt並從這裏確認您已經設置了環境變量JAVA_HOME(指向您的JDK)和QTSDK(指向包含MS2010桌面版本的Qt SDK頂級目錄)。

我的猜測是你沒有使用正確的Qt Jambi源代碼樹。自2011年12月以來,該補丁已存在於4.8.x支持的樹中。這似乎解決了您遇到的問題。