用VS重新编译Qt库,现在为什么Qt Creator不能编译?

时间:2009-08-12 15:22:18

标签: visual-studio qt

我最初的目标是让Qt Creator和Visual Studio 2008创建兼容的库,所以我到目前为止所做的是打开VS命令提示符,转到我的Qt文件夹,然后运行configure.exe,然后nmake用VS重新编译Qt库。问题是现在Qt创建者不会编译任何东西。编译器输出显示它现在使用cl而不是gcc,这是我想要的,但是当我尝试编译任何东西时,我得到以下警告:

:-1: warning:  unrecognized option '/MANIFEST'; ignored
:-1: warning:  unrecognized option '/MANIFESTFILE:debug\HelloQt.intermediate.manifest'; ignored
:-1: warning:  unrecognized option '/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*''; ignored

我不确定它是否有所作为,但当我运行configure.exe时,我没有设置任何命令行参数。我注意到我发现的引用在运行configure.exe时使用了不同的命令行参数(尽管没有两个引用使用相同的参数),我不确定从VS命令行运行它是否足够或如果我应该手动设置一些选项。

This websiteconfigure.exe

使用了很长的命令行
configure -no-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2005 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit

虽然看起来他正在禁用我的项目所需的一些选项,但他没有从VS命令提示符运行它。

编辑:使用configure.exe的-platform win32-msvc2008参数重新编译,它没有任何区别

我的问题是,我应该怎么做这些“无法识别的选项”,更普遍的是我还需要做些什么才能让Qt创建者用cl编译Qt项目?

更新 所以我尝试重新编译Qt库,并在实际读取45+分钟编译的输出后,我看到nmake正在退出并出现错误。在编译过程中止之前,我从QNetworkReplyHandler.objFrameLoaderClientQt.obj得到八个“未解析的外部符号”错误。这似乎不会导致我收到的无法识别的选项错误,但它解释了为什么当我使用Visual Studio Qt插件时Qt库似乎运行错误。这个问题相对无关,所以我将其发布在另一个问题here is the link just in case anyone has an answer for that problem.

2 个答案:

答案 0 :(得分:1)

目标是确保您有正确编译的QTDIR。在你的情况下,一个用于VS,一个用于gcc(如果你想要两个)。

根据您下载的内容,Qt Creator使用gcc,但您可以在选项>下指定备用QT目录。 Qt4> Qt版本。路径和版本将显示在对话框中。

  1. 转到VS命令行并运行configure.exe& nmake带有干净源存储库。然后将此QTDIR添加到Qt Creator。我建议你先运行make clean。

  2. 然后确保可以从Qt命令行运行qmakenmake而不会出现错误。如果使用Qt安装程序,则应安装Qt命令行图标。如果没有,请确保您设置了QTDIR环境变量,路径中包含%QTDIR%/bin

  3. 再次执行步骤1,但这次不使用VS但请确保gcc在路径中。再次运行configure.exe等,但是在专门针对gcc的单独的目录中。将此版本添加到Qt Creator。

  4. 编译项目时,首先运行qmake。您可以更改Qt版本,但不要忘记运行qmake。

  5. 希望这有帮助。

答案 1 :(得分:0)

另外,请记住QT Creator不支持使用CL进行调试

- Lior