Как определить путь из Makefile MSYS для программы на C ++?

Моя проблема: в Makefile, который я использую как в среде MSYS, так и в среде MSYS2, я знаю путь PYTHON_ROOT_DIR, который должен использоваться во время компиляции в программе на C ++. Проблема в том, что PYTHON_ROOT_DIR находится в Makefile, известном как путь стиля posix, такой как /mingw64/binгде в программе на C ++ она должна иметь вид "C:\\prog64\\msys64\\mingw64\\bin", Дополнительная проблема заключается в том, что в зависимости от переменной конфигурации PYTHONMAJOR путь должен быть широкими или обычными символами.

Мой вопрос: как мне решить эту проблему в Makefile без необходимости устанавливать дополнительные программы / скрипты в средах msys или msys2?

0

Решение

Часть вопроса рассматривается в преобразование пути msys (или cygpath для msys?), а именно, как преобразовать путь в стиле msys в путь в стиле Windows. Мое полное решение в Makefile:

ifeq ($(PYTHONMAJOR),3)
L=L
endif
DEFINES += -DPYTHON_ROOT_DIR=$(L)'"'$(shell (cmd //c echo $(PYTHON_ROOT_DIR)) | sed 's|/|\\\\\\\\|g')'"'

который определяет символ препроцессора PYTHON_ROOT_DIR с правильным путем.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]