2016-10-26 8 views
0

私の問題:MSYSとMSYS2の両方の環境で使用するMakefileでは、C++プログラムのコンパイル時に使用されるPYTHON_ROOT_DIRというパスがわかります。問題はPYTHON_ROOT_DIRが/mingw64/binなどのposix形式のパスとして知られているMakefileにあり、C++プログラムでは"C:\\prog64\\msys64\\mingw64\\bin"のような形式になります。追加の課題は、構成変数PYTHONMAJORに応じてパスがワイド文字またはノーマル文字であることです。C++プログラムのMSYS Makefileからパスを定義するにはどうすればよいですか?

私の質問:msysまたはmsys2環境に追加のプログラムやスクリプトをインストールする必要なしに、これをMakefileでどのように解決すればよいですか?

答えて

0

msys path conversion (or cygpath for msys?)には、msysスタイルのパスをWindowsスタイルのパスに変換する方法が記載されています。 Makefileの私の完全なソリューションです:適切なパスとプリプロセッサシンボルPYTHON_ROOT_DIRを定義

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

関連する問題