Ответ 1
Идея GMan о том, что проект "песочница" является хорошим, поскольку он позволяет легко тестировать многофайловые тесты. Я называю свой "cppTest".
Однако, если вы просто хотите скомпилировать любой файл C или С++, который у вас есть, просто создайте простой "Внешний инструмент". На самом деле, это не так просто, как должно быть.
Сначала создайте командный файл, который настроит среду компилятора и запустит компилятор. Что-то вроде следующего:
@rem - runcl.cmd
@rem a batch file to drive simple VC9 compiles
#rem
@echo off
set LIBRARIES=kernel32.lib user32.lib advapi32.lib shlwapi.lib oleaut32.lib
set WIN32_WINNT=0x0500
call "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
echo Visual C/C++ 2008 (VC 9.0) Compile...
set CC="%ProgramFiles%\Microsoft Visual Studio 9.0\VC\bin\cl.exe" /Zi /EHsc -D_WIN32_WINNT=%WIN32_WINNT% %1 /link /incremental:no %LIBRARIES%
echo %CC%
%CC%
В диалоговом окне "Инструменты/Внешние инструменты..." добавьте новый элемент и заполните следующие поля:
- Название:
&Compile File
- Команда:
c:\path\to\runcl.cmd
- Аргументы:
$(ItemPath)
-
Начальный каталог:
$(ItemDir)
-
установите флажок "Использовать окно вывода"
Теперь вы можете использовать пункт "Файл компиляции" в меню "Инструменты", чтобы скомпилировать все, что является открытым файлом в данный момент. Вы даже можете дважды щелкнуть по ошибкам в окне вывода, чтобы вы попали в строки с ошибками.
Есть некоторые ограничения с некоторыми из них, которые вы можете исправить, запустив командный файл или, возможно, с помощью макроса Visual Studio (я не очень хорошо знаком с макросами VS).
- Если вы не сохранили файл, компилятор будет работать против последнего сохранения. В настройке External Tools нет опции принудительного сохранения.
- если вы запустите команду и не будет активен файл C или С++, пакетный файл упадет
- есть, вероятно, немало других областей, в которых пакетный файл будет запутан.
Приятная вещь в таком пакетном файле, что вы также можете использовать его, чтобы помочь интегрировать компилятор в различные редакторы, которые позволяют вам обращаться к внешним инструментам, таким как UltraEdit, Zeus Editor, EditPad Pro, PSPad, Блокнот программиста и т.д. и др.
Если вам нравится, я опубликовал пакетный файл, который я использую для интеграции нескольких компиляторов в такие редакторы, как выше. Этот командный файл обрабатывает несколько компиляторов, включая различные компиляторы MSVC от версий с 6 по 9, цифровые маркеры, компиляторы MinGW и Comeau (используемый компилятор выбирается дополнительным параметром). Пакетный файл довольно запутанный (к сожалению, характер командных файлов Windows, которые имеют какую-либо сложность). Но я нахожу, что это упрощает использование этих вещей от разных редакторов. Я могу быстро набрать несколько ключей, которые я назначил компиляторам, чтобы скомпилировать один файл с 5 различными компиляторами, чтобы я мог легко проверить совместимость.
Я не делаю promises об этом, кроме того, что считаю его полезным для моих собственных целей - если вы тоже это делаете, отлично. В противном случае не используйте его...