【问题标题】:Qt Jambi build failure (VS2010)Qt Jambi 构建失败(VS2010)
【发布时间】:2013-02-12 18:04:01
【问题描述】:

我已经在 Windows 7 上成功构建了 Qt 4.8.4,现在我正在尝试针对该版本构建 Qt Jambi。当我在 Qt Jambi 源目录中运行 ant 以启动构建时,我只得到了一部分,然后我得到了以下结果

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.

有一些关于此错误号的 MSDN 条目 --http://msdn.microsoft.com/en-us/library/dt309377.aspx 和 http://msdn.microsoft.com/en-us/library/s99zy1dh(v=vs.100).aspx。这些都没有太大帮助。

有人成功地完成了我正在尝试的事情吗?

【问题讨论】:

    标签: java qt qt-jambi jambi


    【解决方案1】:

    在 VS2010 上构建 QtJambi 确实有效。

    请确认您从哪里获得 Qt SDK 以及您从哪里获得 QtJambi 源代码。

    您应该使用诺基亚或 Digia SDK 或 Qt 项目。例如来自https://qt-project.org/downloads 的 4.x(注意 5.x 目前可能在 2014 年初不起作用)。

    您应该在 https://qt.gitorious.org/qt-jambi/qtjambi-community 的 git 树上工作(这是唯一维护的树)。请确认您正在使用的提交 ID。

    如果你没有适用于 Win7 的 git,请查看 http://git-scm.com/download/win 安装后,你可以打开“git 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。这似乎解决了您遇到的问题。

    【讨论】:

      【解决方案2】:

      已经在gitorious 成功地从QtJambi 主干编译了QtJambi。然后我使用了来自 Qt-project.org 的 Qt 4.8.4 SDK。 http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-win-opensource-4.8.5-vs2010.exe 我现在用了几个月,效果很好:)。

      享受 QtJambi!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多