Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[VC++ Linker] Пасибо! 11.12.03 22:56 Число просмотров: 1963
Автор: Disappear Статус: Незарегистрированный пользователь
|
> > Проблема в том что я ничего в формате makefile не > > соображаю, но как я подозреваю, для переключений EXE > > придется уже менять не макрос а строчку в makefile? > Да, там есть свои переменные и условная компиляция. Лушче > всего сделать название результирующего файла сделать > переменной. > > Синтаксис очень подробно описан в MSDN. Лучше взять готовый > (VC6 умеет экспортировать проекты в makefile-ы, в VC.Net я > этого не нашел) и подредактировать немного. Там все понятно > в принципе > > Синтаксис: > > цель: цели-зависимости
> команда1
> команда2
> .... и так далее
> ---
> Цель - это как подпрограмма в языке программирования. Целью > может быть как файл так и произвольное название (почти > произвольное). Если у собираемой цели есть > цели-зависимости, то сначала собираются они (рекурсивно). А > сам процесс сборки цели описывается командами. Команды > обязательно должны иметь отступ. Если его нет - то это уже > новая цель. > > Когда делаешь > nmake -f Makefile > то бишь не указываешь цель явно, то собирается цель all > > Замечу, что при такой сборке лучше в VC.Net при создании > проекта явно указывать "Makefile Project". Тогда проект > можно будет все так же собирать из IDE, но собираться он > будет внешней командой (в данном случае nmake). > > Короче выглядеть это будет примерно так > > Строчку > > ALL : "$(OUTDIR)\test.exe"
> ---
> > заменяем на > > CONFIG=1
> !if "$(CONFIG)"=="1"
> TARGET=$(OUTDIR)\test1.exe
> !else
> TARGET=$(OUTDIR)\test2.exe
> !endif
>
> ALL: "$(TARGET)"
> ---
> > Остальное оставь без изменений. Можешь включить этот > Makefile в свой проект и менять номер конфигурации прямо > там. Это не труднее, чем переопределение макроса. Также > можно вызывать это следующим образом: > > nmake -f Makefile CONFIG=2 > > В общем, для начала сведений достаточно. Дальше MSDN в зубы > и вперед на мины :-) Там на самом деле не все так сложно > как кажется сначала. > > ЗЫ: Вот нашлась и вторая причина по которой я не хочу > пересаживаться на VC.Net - не умеет экспортировать > Makefile-ы. Первая была, что он не умеет импортировать > ключи для компилятора прямо в проект. То есть умеет, но он > не строит на их основе новые настройки для проекта, а > просто принимает и ничего с ними не делает и в то же время > не дает ничего сделать с уже сгенеренными (как в VC6)
А мне кажется на VS .NET лично сишникам не стоит переходить ближайшие год-два. VS .NET вроде как заточен на .NET и C#, поэтому микрософт задачу полной совместимоти c VS6 на первый план не будет ставить.
|
|
|