Я пытаюсь использовать wx-виджеты с scons на Windows, используя MinGW. Это оскорбительная строка моего SConstruct:
env.ParseConfig("wx-config --cxxflags --libs")
Сразу после этого печать env [‘CPPPATH’] дает:
['C:software_libwxWidgets2.8libgcc_dllmsw', 'C:software_libwxWidgets2.8include']
в которой, очевидно, отсутствуют некоторые очень важные косые черты. Я думаю, что это может быть связано с портом Windows wx-config, что приводит к обратным слешам в его выводе.
Эти пути дословно передаются компилятору позже, что приводит к ошибкам. Все остальное прекрасно работает.
Что я могу сделать, чтобы решить эту проблему?
Решил проблему с помощью грубой силы. Написал вспомогательный Python-скрипт, состоящий из следующего:
import subprocess, sys
p = subprocess.Popen(["wx-config", "--cxxflags", "--libs"], stdout=subprocess.PIPE)
out, err = p.communicate()
san = out.replace("\\", "/")
sys.stdout.write(san)
sys.exit(0)
И в итоге позвонил
env.ParseConfig("python sanitize-wx-config.py")
в файле SConscript. Это решило проблему:
Других решений пока нет …