我最初的目标是让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 website对configure.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.obj
和FrameLoaderClientQt.obj
得到八个“未解析的外部符号”错误。这似乎不会导致我收到的无法识别的选项错误,但它解释了为什么当我使用Visual Studio Qt插件时Qt库似乎运行错误。这个问题相对无关,所以我将其发布在另一个问题here is the link just in case anyone has an answer for that problem.
答案 0 :(得分:1)
目标是确保您有正确编译的QTDIR。在你的情况下,一个用于VS,一个用于gcc(如果你想要两个)。
根据您下载的内容,Qt Creator使用gcc,但您可以在选项>下指定备用QT目录。 Qt4> Qt版本。路径和版本将显示在对话框中。
转到VS命令行并运行configure.exe
& nmake
带有干净源存储库。然后将此QTDIR添加到Qt Creator。我建议你先运行make clean。
然后确保可以从Qt命令行运行qmake
和nmake
而不会出现错误。如果使用Qt安装程序,则应安装Qt命令行图标。如果没有,请确保您设置了QTDIR环境变量,路径中包含%QTDIR%/bin
。
再次执行步骤1,但这次不使用VS但请确保gcc在路径中。再次运行configure.exe等,但是在专门针对gcc的单独的目录中。将此版本添加到Qt Creator。
编译项目时,首先运行qmake。您可以更改Qt版本,但不要忘记运行qmake。
希望这有帮助。
答案 1 :(得分:0)
另外,请记住QT Creator不支持使用CL进行调试
- Lior