Как скомпилировать код x64 с Visual Studio в командной строке? - PullRequest
24 голосов
/ 30 марта 2010

Я хочу скомпилировать простую программу в стиле hello world, используя командную строку Windows.

cl file_name.c

достаточно просто. Теперь я хочу сделать то же самое в 64-битной. Что мне делать?

Ответы [ 7 ]

24 голосов
/ 30 марта 2010

Вам необходимо использовать версию компилятора cl.exe, которая испускает код x64. Какой из них немного зависит от вашей настройки.

Давайте рассмотрим случай, когда вы работаете на 64-битной машине. Для этого вам нужно использовать компилятор, который живет на

c: \ Program Files (x86) \ Microsoft visual Studio 10.0 \ VC \ bin \ amd64 \ cl.exe

Если вы работаете на 32-битной машине, вам нужно использовать кросс-компилятор, расположенный по адресу

c: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin \ x86_amd64 \ cl.exe

19 голосов
/ 30 марта 2010

Запуск cl из командной строки Visual Studio x64.

7 голосов
/ 30 марта 2010

Также можно использовать командный файл «Vcvarsall.bat» (по умолчанию полный путь к этому файлу: C: \ Program Files \ Microsoft Visual Studio 8 \ VC \ Vcvarsall.bat для VS2005).

Если аргументы не предоставлены, этот пакетный файл настраивает необходимые переменные среды для использования 32-разрядного компилятора x86. Но его можно использовать для настройки любого из 64-битных компиляторов, например, для использования собственного 64-битного компилятора, передавая в качестве аргумента «amd64». Затем просто запустите cl.exe.

5 голосов
/ 30 марта 2010

Кайл прав. Это просто вопрос правильной установки переменной среды PATH. Обычный компилятор x86 находится в подкаталоге vc \ bin. Существует два 64-битных компилятора, 32-битный компилятор, который генерирует 64-битный код в vc \ bin \ x86_amd64, и 64-битный компилятор, который генерирует 64-битный код в vc \ bin \ amd64.

Программа Visual Studio по умолчанию всегда использует 32-битный компилятор для генерации 64-битного кода.

Обратите внимание, что 64-битные компиляторы не установлены по умолчанию. Вам придется перезапустить setup.exe, если вы не использовали опцию пользовательской установки. И перезапустите установщик SP1.

2 голосов
/ 09 августа 2018

Запустите cl из «Командная строка Visual Studio x64» или чего-то подобного, например «Командная строка собственных инструментов x64 для VS 2017». Запустите where cl, чтобы увидеть путь, по которому вы запускаете «cl». Что-то вроде «x64» или «amd64» должно быть в пути.

Время от времени поиск в меню «Пуск» может быть бесполезным. Попробуйте найти «vs20xx» или «vs 20xx» вместо «visual studio», чтобы найти его. Имя приглашения меняется в зависимости от выпусков. Если он не говорит «64», то он настроит 32-битную среду.

Приглашение 64 имеет тенденцию просто вызывать «Vcvarsall.bat» с аргументом 64, но этот аргумент изменяется со временем и может не иметь обратной совместимости.

1 голос
/ 09 августа 2012

Если у вас есть код как часть проекта, вы можете использовать его следующим образом:

"C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe" myproject.sln /Build "Release | x64"

получил снизу ссылку

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/ed855b9d-55ef-49f1-bf27-f20a79be687e

0 голосов
/ 30 марта 2010

Как уже упоминали другие, ответ зависит от того, используете ли вы нативный x64-компилятор или кросс-компилятор. Эта веб-страница должна помочь вам http://msdn.microsoft.com/en-us/library/x4d2c09s.aspx

...