Как скомпилировать библиотеки C ++ с использованием компилятора Microsoft C ++ без IDE - PullRequest
0 голосов
/ 10 июля 2011

Я хочу использовать Блокнот и вызывать компилятор и компоновщик из командной строки.
Нет IDE, нет make, nmake или чего-либо подобного, потому что я хочу знать точный синтаксис, необходимый для выполнения следующих действий:

1. создать статическую библиотеку
2. создать dll

Да, я просматривал сайт MSDN, но примеры, которые я видел, предполагают, что один из них использует IDE, которая выполняет множество скрытых настроек
Примечание Pls: я знаю, как скомпилировать исполняемые файлы, используя cl, а также настроить env, используя vcvarsall.bat. Мой вопрос о компиляции статических библиотек и библиотек.

Я использую 32-разрядный оптимизирующий компилятор C / C ++ Microsoft (R) версии 15.00.30729.01 для 80x86.
Предложения по использованию какого-либо другого компилятора (gcc, mingw, intel и т. Д.) В настоящее время не помогут.

Ответы [ 4 ]

3 голосов
/ 10 июля 2011

Компилятор C ++ называется cl . Опции компилятора хорошо документированы на MSDN . Компоновщик называется ссылка . Опции компоновщика также хорошо документированы на MSDN .

Вам нужно будет запустить vcvarsall.bat , чтобы иметь возможность строить с помощью набора инструментов Visual C ++; этот пакетный файл устанавливает все необходимые переменные среды и тому подобное. Если вы установили Visual Studio, в меню «Пуск» должен быть ярлык «Командная строка Visual Studio». С помощью этого ярлыка вы получите командную строку и запустите этот командный файл.

1 голос
/ 10 июля 2011

Для библиотек DLL передайте флаг /c в cl.exe (который компилируется, но не связывается) и передайте флаг /DLL в link.exe. Вместо создания исполняемого файла создается DLL.

Для статических библиотек используйте программу lib.exe .

0 голосов
/ 09 ноября 2012

Пара незначительных вещей, которые нужно добавить.

Лично я бы не использовал пакетные файлы Windows. Я бы использовал nmake http://msdn.microsoft.com/en-us/library/dd9y37ha(v=vs.71).aspx сборка вне Visual Studio - это ежедневная работа nmake, и это стандартный способ создания проектов Visual Studio для выпуска, скажем, на машине сборки, а не в среде разработки.

Еще одно преимущество в пользу nmake: если вам важна кроссплатформенность, то cmake (http://www.cmake.org/) - замечательный инструмент для динамического создания файлов Windows nmake и файлов, созданных не Windows, и поставляется с ctest для проведения юнит-тестов и самотестирования.

Реклама закончена.

0 голосов
/ 10 июля 2011

Существует несколько подходов, каждый из которых легко документирован в одном месте:

Концепции Visual C ++: создание программы на C / C ++
Построение в командной строке

Обратите внимание, что система сборки полностью изменилась между VC ++ 2008 (который вы используете) и VC ++ 2010 (который является текущей версией).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...