#path #makefile
#путь #makefile
Вопрос:
Я использую GNU make для создания проекта с использованием Microsoft Visual C , и я хотел бы иметь возможность запускать его из любого окна CMD вместо того, чтобы открывать предварительно настроенное, где путь (и различные другие переменные среды) предварительно настраиваются с помощью пакетного файла. В идеале я хотел бы определить соответствующие переменные среды в самом makefile, поэтому все, что мне нужно сделать, это открыть окно CMD и ввести «make».
В общем и целом это просто, но я испытываю трудности с PATH; до сих пор каждый синтаксис, который я пробовал для использования стандартной переменной PATH (как определено в операционной системе) и добавления путей к различным инструментам сборки, не удался.
Вместо того, чтобы перебирать шесть или семь различных синтаксисов, которые я пробовал — некоторые из которых выдавали сообщения об ошибках, некоторые из которых не выдавали сообщений об ошибках, а просто не работали, — я задам вопрос прямо:
- Какую строку я должен вставить в свой makefile, чтобы путь к link.exe, а именно «C:Program Файлы (x86) Microsoft Visual Studio 9.0VC bin», будут добавлены к пути, используемому «make»?
До сих пор самым близким к успеху было определение:
ССЫЛКА = «C:Program Файлы (x86) Microsoft Visual Studio 9.0VCbinlink.exe «
…и замените все последующие ссылки на «link.exe » с помощью $ (ССЫЛКА), но это не удается, потому что link.exe имеет различные зависимости (такие как mspdb80.dll ) которые также должны быть в пути.
Ответ №1:
Это работает:
DevEnvDir=C:Program Files (x86)Microsoft Visual Studio 9.0Common7IDE
VCINSTALLDIR=C:Program Files (x86)Microsoft Visual Studio 9.0VCbin
export Path:=$(DevEnvDir);$(VCINSTALLDIR);$(Path)
Раньше меня подводила необходимость «экспорта» и учета регистра.
Комментарии:
1. В моем случае (make.exe v.3.8.1 от gnuwin32.sourceforge.net/packages/binutils.htm ) Мне пришлось переключиться на прописной — PATH, с Path это не сработало.
2. У меня был тот же опыт, что и у @ZinovyNis.