Как скомпилировать 32-битный исполняемый файл через cl.exe с помощью VS Code?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как скомпилировать 32-битный исполняемый файл через cl.exe с помощью VS Code?

Сообщение Anonymous »

В 64-битной ОС Windows 10 я хочу скомпилировать 32-битный исполняемый файл Windows через cl.exe с помощью кода Visual Studio. Я установил расширения C/C++, CMAKE и C/C++ DevTools, а также установил компилятор Visuall C++ и другие инструменты разработки.
Я могу успешно скомпилировать 64-битный исполняемый файл в виде cmd, а также программу с графическим интерфейсом через cl.exe в VS Code.
Что мне следует сделать, чтобы иметь возможность скомпилировать 32-битный exe без необходимости перезапуска VS Code (или хотя бы так)? Можно ли это сделать, отредактировав `tasks.json` для переключения между 32-битной и 64-битной версией?
В Tasks.json я указал (в двойных кавычках!) путь к (кажется) x86 cl.exe, но он не компилируется с большим количеством "неразрешенных символов" компоновщика LNK2019 фатальные ошибки и предупреждение LNK4272: конфликты типа библиотечной машины 'x64' с предупреждениями типа целевой машины "x86".
Все предупреждения имеют такое расположение:
C:\Program Files (x86)\Windows Kits\10\\lib\10.0.19041.0\\um\x64\user32.lib : warning LNK4272: ...
Поэтому мне, вероятно, нужно изменить расположение статических библиотек. Но где это можно сделать в VS Code и этих расширениях?
Текущие задачи.json
// C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x86
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: cl.exe build active file",
"command": "\"C:/Program Files (x86)/Microsoft Visual Studio/18/BuildTools/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x86/cl.exe\"",
"args": [
"/Zi",
"/EHsc",
"/nologo",
"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
"${file}",
"/link kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$msCompile"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}


Подробнее здесь: https://stackoverflow.com/questions/799 ... th-vs-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»