Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 用VS重新编译Qt库,现在为什么赢了';编译?_Visual Studio_Qt - Fatal编程技术网

Visual studio 用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 :-

我最初的目标是让Qt Creator和Visual Studio 2008创建兼容的库,所以到目前为止我所做的是打开VS命令提示符,转到我的Qt文件夹,然后运行
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进行调试

    --狮子座