Ответ 1
Здесь есть несколько способов:
Вариант 1. Создание пользовательского инструмента сборки
Visual Studio 2005 и новее позволит вам зарегистрировать пользовательские инструменты сборки. Они сообщают IDE, как преобразовать файлы одной формы (например, файл .cpp
) в другую форму (например, файл .obj
).
Насколько я знаю, никто еще не сделал этого для GCC. А для того, чтобы сделать это самостоятельно, нужно написать код COM, который, вероятно, слишком сложен, чтобы в него можно было погрузиться только для одного проекта. У вас должна быть веская причина, чтобы начать этот проект.
Затем вам нужно вручную настроить каждый проект, чтобы он использовал собственный инструмент сборки вместо стандартного, так как вы используете расширение имени файла (.cpp
, вероятно), о котором Visual C++ уже знает. Вы столкнетесь с проблемами, если попытаетесь смешать компиляторы V C++ и g++ для одного исполняемого файла, созданного из нескольких модулей.
С другой стороны, если вы хотите начать проект с открытым исходным кодом, это звучит как хороший для меня. Я надеюсь, что вы быстро соберете большую базу пользователей.
Вариант 2: Makefile Project
Запустите Visual Studio и скажите "Файл"> "Новый проект".
В разделе Visual C++ выберите Makefile Project
Заполните мастер проекта Makefile:
- Сборка командной строки: make
- Чистые команды: сделать чистыми
- Перестройте командную строку: очистить все
Вы можете оставить поле Output (для отладки) в одиночку, если вы назвали свой исполняемый файл после имени проекта, и он приземлился там, где Visual Studio ожидает его найти.
Оставьте остальные поля в покое, если вы не знаете, что это такое и почему вы хотите их изменить. Например, вы можете передать флаг -D
в строке определения препроцессора, чтобы получить отдельные выходные данные отладки и выпуска. Если вы знаете, что хотите этого, вы знаете, как его настроить, поэтому я не собираюсь делать этот длинный ответ еще длиннее, чтобы объяснить это.
Вам будет задан тот же набор вопросов для сборки выпуска. Если вы хотите работать с отдельными сборками отладки и выпуска, внесите здесь какие-либо изменения.
Сделав все это, вы все равно должны создать Makefile
и добавить make.exe
к вашему PATH
. Как и в случае с вопросом "Отладка против выпуска", переход на этот уровень детализации оттолкнет этот ответ от темы.
Каким бы уродливым это ни выглядело, это все же проще, чем создавать собственные инструменты для сборки. Кроме того, вы говорите, что в конце концов вам нужно портировать на Unix, так что вам все равно понадобится Makefile
.
Вариант 3: кроссплатформенная разработка
Вы говорите, что хотите портировать эту программу на Unix в какой-то момент, но это не значит, что вы должны сейчас использовать GCC в Windows. Вполне возможно написать вашу программу так, чтобы она собиралась под Visual C++ в Windows и GCC/Makefiles в * ix системах.
Есть несколько инструментов, которые делают это проще. Одним из самых популярных вариантов является CMake, который доступен в качестве опции времени установки в новых версиях Visual Studio. Есть много альтернатив, таких как SCons и Bakefile.