Visual studio 用VS重新编译Qt库,现在为什么赢了';编译?
我最初的目标是让Qt Creator和Visual Studio 2008创建兼容的库,所以到目前为止我所做的是打开VS命令提示符,转到我的Qt文件夹,然后运行Visual studio 用VS重新编译Qt库,现在为什么赢了';编译?,visual-studio,qt,Visual Studio,Qt,我最初的目标是让Qt Creator和Visual Studio 2008创建兼容的库,所以到目前为止我所做的是打开VS命令提示符,转到我的Qt文件夹,然后运行configure.exe,然后运行nmake,用VS重新编译Qt库。问题是现在Qt Creator不会编译任何东西。编译器输出显示它现在使用cl而不是gcc,这正是我想要的,但每当我尝试编译任何内容时,都会收到以下警告: :-1: warning: unrecognized option '/MANIFEST'; ignored :-
configure.exe
,然后运行nmake
,用VS重新编译Qt库。问题是现在Qt Creator不会编译任何东西。编译器输出显示它现在使用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命令行运行它是否足够,或者我是否应该手动设置一些选项
对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
中获得了八个“未解析的外部符号”错误。这似乎不会导致我一直收到的无法识别的选项错误,但它解释了为什么当我将Qt库与visualstudioqt插件一起使用时,Qt库似乎运行有问题。这个问题相对来说不相关,所以我在另一个问题中发布了它,目的是确保您有一个正确编译的QTDIR。在您的例子中,一个用于VS,一个用于gcc(如果您需要这两个)
根据您下载的内容,Qt Creator使用gcc,但您可以在选项>Qt4>Qt版本下指定其他Qt目录。路径和版本将显示在对话框中
转到VS命令行,使用clean源存储库运行configure.exe
&nmake
。然后将此QTDIR添加到您的Qt创建者。我建议你跑步前把衣服洗干净
然后确保可以从Qt命令行无错误地运行qmake
和nmake
。如果使用Qt安装程序,则应安装Qt命令行图标。如果没有,请确保设置了QTDIR环境变量,路径中有%QTDIR%/bin
再次执行步骤1,但这次不要使用VS,而是确保gcc位于路径中。再次运行configure.exe等,但要在专用于gcc的单独的目录中运行。将此版本添加到Qt创建者
编译项目时,首先运行qmake。您可以更改Qt版本,但不要忘记运行qmake
希望这有帮助。另外,请记住QT Creator不支持使用CL进行调试
--狮子座