Моя проблема: в Makefile, который я использую как в среде MSYS, так и в среде MSYS2, я знаю путь PYTHON_ROOT_DIR, который должен использоваться во время компиляции в программе на C ++. Проблема в том, что PYTHON_ROOT_DIR находится в Makefile, известном как путь стиля posix, такой как /mingw64/bin
где в программе на C ++ она должна иметь вид "C:\\prog64\\msys64\\mingw64\\bin"
, Дополнительная проблема заключается в том, что в зависимости от переменной конфигурации PYTHONMAJOR путь должен быть широкими или обычными символами.
Мой вопрос: как мне решить эту проблему в Makefile без необходимости устанавливать дополнительные программы / скрипты в средах msys или msys2?
Часть вопроса рассматривается в преобразование пути 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 с правильным путем.
Других решений пока нет …