我试图在Windows 10 x64上构建Qbs示例collidingmice
并收到以下错误消息:
Qt5Cored.lib(Qt5Cored.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
我尝试在collidingmice.qbs中设置以下内容
qbs.architecture : "x64"
并收到消息
'x64' differs from the architecture produced by this compiler (x86)
然后我尝试了
qbs.architecture : "x86_64"
给出错误消息;
'x86_64' differs from the architecture produced by this compiler (x86)
然后我尝试了
qbs.architecture : "x86"
给出错误消息;
Qt5Cored.lib(Qt5Cored.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'
有没有办法设置目标机器类型,例如Qbs中的'x86'
或'x64'
答案 0 :(得分:2)
我的猜测是你正在使用x86编译器和x64 Qt,这是行不通的。你是如何设置个人资料的?
答案 1 :(得分:1)
这是在使用Qbs构建系统(游戏图块编辑器“ Tiled”)构建应用程序时解决相同问题的方法。就我而言,我正在使用Visual Studio 2019 x64工具链。
注意:此答案假定Qt和Qbs在您的PATH中。
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
在命令提示符下初始化VS2019环境变量。cd myproject
mkdir build-myproject
cd build-myproject
qbs setup-toolchains --detect
,它将找到您的VS2019环境。qbs setup-qt --detect
,它将找到您的Qt环境(假设您已添加到PATH)。qbs config --list profiles
以显示检测到的工具链配置文件。示例:
qbs config --list profiles
profiles.MSVC2019-x64.cpp.compilerVersion: "19.25.28614"
profiles.MSVC2019-x64.cpp.toolchainInstallPath: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64"
profiles.MSVC2019-x64.qbs.architecture: "x86_64"
profiles.MSVC2019-x64.qbs.targetPlatform: "windows"
profiles.MSVC2019-x64.qbs.toolchainType: "msvc"
...
qbs build -f ..\MyAwesomeProject.qbs profile:MSVC2019-x64
只要可以使用Qt的x86版本,就可以以类似的方式完成x86版本的构建。使用x86运行vcvarsall.bat批处理文件将设置您的命令提示符,以使用VS x86环境变量。