2016-07-05 4 views
-1

У меня есть проект на C++, который я создаю с помощью Microsoft Visual Studio Express 2015 для Windows Desktop. Я могу создать его в среде IDE для Debug | x64 без проблем.MSBuild не удается создать x64 исполняемый файл

Я хочу построить его непосредственно с MSBuild из командной строки, так что я называю:

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

MSBuild \ LedaAP.sln/р: Конфигурация = "Debug"/р: PreferredToolArchitecture = 64/р: useenv = истина /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 \ x64 \ Debug \ 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: "level = 'asInvoker' uiAccess = 'false'"/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: \ Jenkins \ workspace \ LedaAP _VisualStudio \ software \ Source \ LedaAP \ LedaAP.vcxproj] 12:15:05 Done Building Project "C: \ Jenkins \ workspace \ LedaAP_VisualStudio \ software \ Source \ LedaAP \ LedaAP.vcxproj" (цели по умолчанию) - FAILED. 12:15:05 Done Building Project "C: \ Jenkins \ workspace \ LedaAP_VisualStudio \ software \ Source \ LedaAP \ LedaAP.sln" (цели по умолчанию) - FAILED. Сборка НЕИСПРАВНО.

Я предполагаю, что сбой вызван тем, что компоновщик вызывается с несколькими 32-разрядными библиотеками, но я не указываю их явно на страницах свойств проекта.

Любые идеи, как исправить это, пожалуйста?

+0

Используйте «vcvarall.bat x64» и повторите попытку. –

+0

У меня есть только: «C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ vcvarsall.bat" – DavidA

+0

x64 - это * аргумент * на vcvarsall.bat. Он сообщает файлу .bat для настройки среды сборки для создания исполняемых файлов x64. Прямо сейчас, без аргументов, вы получаете среду сборки x86. –

ответ

0

Как Ганс предложил ответ был назвать:

vcvarsall.bat x64

, но я также должен был удалить 'Microsoft Visual Studio Express 2015 для рабочего стола Windows' и установить 'Visual C++ Build Tools' из :

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

, чтобы получить 64-разрядные инструменты.