Qbs设置目标机器类型

时间:2017-09-14 08:45:41

标签: qbs

我试图在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'

2 个答案:

答案 0 :(得分:2)

我的猜测是你正在使用x86编译器和x64 Qt,这是行不通的。你是如何设置个人资料的?

答案 1 :(得分:1)

这是在使用Qbs构建系统(游戏图块编辑器“ Tiled”)构建应用程序时解决相同问题的方法。就我而言,我正在使用Visual Studio 2019 x64工具链。

注意:此答案假定Qt和Qbs在您的PATH中。

  1. 打开命令提示符
  2. 运行"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64在命令提示符下初始化VS2019环境变量。
  3. cd到您的.qbs项目所在的目录。
cd myproject
  1. 为您的构建创建一个新的影子构建目录并cd进入它。
mkdir build-myproject
cd build-myproject
  1. 运行qbs setup-toolchains --detect,它将找到您的VS2019环境。
  2. 运行qbs setup-qt --detect,它将找到您的Qt环境(假设您已添加到PATH)。
  3. 运行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"
...
  1. MSVC2019 x64配置文件名为“ MSVC2019-x64”。现在像这样构建应用程序时通过qbs属性指定该值:
qbs build -f ..\MyAwesomeProject.qbs profile:MSVC2019-x64

只要可以使用Qt的x86版本,就可以以类似的方式完成x86版本的构建。使用x86运行vcvarsall.bat批处理文件将设置您的命令提示符,以使用VS x86环境变量。