我正在尝试学习wxWidgets库,使用MinGW和msys来编译代码。到目前为止一切顺利,但我找不到通过CMD.exe向MSYS发送命令的方法。
我使用Sublime Text编辑文件,并且可以选择运行makefile。我希望我的makefile能够打开一个MSYS实例并将g ++命令和参数发送给它。
示例:
现在我的makefile是:
test.exe : main.cpp
g++ -s main.cpp -o test.exe `wx-config --cxxflags` `wx-config --libs`
当mingw32-make运行g ++命令时,它会将其发送到cmd.exe,后者无法处理后退和wx-config爵士乐。 (但是当从MSYS内部和持有main.cpp的目录运行时,该命令可以正常工作)
我希望能够使用像...这样的东西。
msys --command g++ -s main.cpp*...etc..*
因此它将加载MSYS环境并运行命令。这可能吗?
我是一个巨大的makefile新手,所以如果有更简单的方法,请告诉我!
答案 0 :(得分:4)
我从未设法通过MSYS使用wxwidgets,尽管我以这种方式编译了所有其他代码。在wx文档中进行了几天的搜索无法找到解决方案,而且Qt可能是一个更好的可移植性赌注。
但脾脏不够。当您运行msys时,您实际上正在运行启动rxvt控制台的批处理文件。你真的不想用这个。相反,只需创建一个桌面快捷方式C:\msys\bin\bash.exe
(或MSYS目录所在的位置)并单击它。
完成后,如果MSYS bin目录在Windows PATH上,那么看起来像这样的makefile将理解反引号:
foobar:
echo `ls`
根据我的经验,它不会做什么就是编译wx。
答案 1 :(得分:2)
您可能希望set the shell that gmake uses执行构成makefile的命令。我假设MSYS带有bash甚至是普通sh,它应该可以完成这项工作。