我有一个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位库调用的,但我没有在项目的属性页中明确指定它们。
任何想法如何解决这个问题?
答案 0 :(得分:0)
汉斯建议答案是打电话:
vcvarsall.bat x64
但我还必须卸载适用于Windows桌面的Microsoft Visual Studio Express 2015'并安装' Visual C ++ Build Tools'从:
http://landinghub.visualstudio.com/visual-cpp-build-tools
获取64位工具。