MSBuild无法构建x64可执行文件

时间:2016-07-05 11:34:10

标签: visual-studio-2015 msbuild

我有一个C ++项目,我正在使用Microsoft Visual Studio Express 2015 for Windows Desktop构建。我可以在IDE for Debug中构建它x64没有问题。

我想从命令行直接使用MSBuild构建它,所以我调用:

  

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ vcvarsall.bat

     

msbuild \ LedaAP.sln / p:Configuration =" Debug" / p:PreferredToolArchitecture = x64 / p:useenv = true /flp:logfile=LedaAp.log;verbosity=normal

链接失败:

  

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ BIN \ link.exe / ERRORREPORT:QUEUE / OUT:" C:\ Jenkins \ workspace \ LedaAP_VisualStudio \ software \ Source \ LedaAP \ 64 \调试\ LedaAP.exe" / INCREMENTAL / NOLOGO ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib / MANIFEST / MANIFESTUAC:&# 34;电平=' asInvoker' uiAccess ='假'" / manifest:embed / Debug /PDB:"C:\Jenkins\workspace\LedaAP_VisualStudio\software\Source\LedaAP\x64\Debug\LedaAP.pdb" / SUBSYSTEM:CONSOLE / TLBID:1 / DYNAMICBASE / NXCOMPAT /IMPLIB:"C:\Jenkins\workspace\LedaAP_VisualStudio\software\Source\LedaAP\x64\Debug\LedaAP.lib" / MACHINE:X64 x64 \ Debug \ Configuration.obj      x64 \ Debug \ Configuration.obj:致命错误LNK1112:模块机器类型' X86'与目标机器类型的冲突' x64' [C:\詹金斯\工作空间\ LedaAP_VisualStudio \ SOFTWARE \源\ LedaAP \ LedaAP.vcxproj]   12:15:05 Done Building Project" C:\ Jenkins \ workspace \ LedaAP_VisualStudio \ software \ Source \ LedaAP \ LedaAP.vcxproj" (默认目标) - 失败。   12:15:05 Done Building Project" C:\ Jenkins \ workspace \ LedaAP_VisualStudio \ software \ Source \ LedaAP \ LedaAP.sln" (默认目标) - 失败。   建立失败。

我想失败的原因是链接器是使用多个32位库调用的,但我没有在项目的属性页中明确指定它们。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

汉斯建议答案是打电话:

vcvarsall.bat x64

但我还必须卸载适用于Windows桌面的Microsoft Visual Studio Express 2015'并安装' Visual C ++ Build Tools'从:

http://landinghub.visualstudio.com/visual-cpp-build-tools

获取64位工具。