Подтвердить что ты не робот

Как скомпилировать код x64 с Visual Studio в командной строке?

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

cl file_name.c

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

4b9b3361

Ответ 1

Вам нужно использовать версию компилятора 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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 6

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