我正在尝试将我的Qt应用程序部署到Windows,当我运行nmake关于/ FS是无效的数字参数时,我收到错误。看起来它是某种编译标志,编译器无法识别它。我不知道如何解决这个问题,似乎没有任何信息,而不是这里提供的信息http://qt-project.org/doc/qt-5/windows-deployment.html。
我在Deploying a Qt 5.3 App on Windows
发布了原始问题此人有同样的问题Deploying a 32-bit Qt 5.3.0 app (Stand-Alone)
我正在使用Visual Studio 2013进行Qt 5.3。因为这两个问题都表明它似乎正在运行来自VS 2010的cl和nmake。我打赌这就是问题出在哪里
感谢您对此问题的任何帮助
答案 0 :(得分:4)
使用cl.exe版本18.x进行编译。
答案 1 :(得分:2)
有同样的问题,我从qtenv2.bat调用错误的vcvars32.bat,基本上是使用MSVC2010和Qt for MSVC2013
正如edwinc所提到的,编译器版本应为18.x
答案 2 :(得分:1)
Qt 5.4.1,VS 2013.修正了
的问题C:\Qt\Qt5.4.1\5.4\msvc2013_64\mkspecs\win32-msvc2013\
从
中删除错误参数QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t
答案 3 :(得分:0)
我遇到了同样的问题,试图为Qt5编译已弃用的QtHttp和QtFtp模块。你是对的,问题的原因是MSVC编译器版本不匹配。以下是我在其他人遇到此事时发现的一些事情:
qmake
将从qtbase引入mkspecs。因此,如果您使用一个编译器构建Qt并尝试使用来自不同版本的VS命令提示符编译单个模块,则不会关心您使用了正确的vsvars bat。qmake
可以传递-spec
标志以强制它使用给定的规范。例如。 qmake -spec win32-msvc2010
。答案 4 :(得分:0)
如果您安装了多个Qt套件,可能是由于运行多个Qt Creator,在套件之间切换可能会导致此类问题。一丝不苟地确保您使用正确的Qt套件,如果它是自动检测套件,那么您使用的是正确的Qt Creator。
打开项目后,请查看您的工具包:
答案 5 :(得分:-1)
您是否尝试使用VS本身进行编译?它有效吗?
无论如何,尝试检查C:/ windows / ...文件夹中的C1.dll(尝试搜索下面的目录),它是一个旧的,像5年前一样被创建?如果是这样,您可能希望将其替换为较新的版本,例如VS2013文件夹中包含的版本。