3

我正在尝试学习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 jazz。(但是当从 MSYS 内部和保存 main.cpp 的目录中运行时,该命令确实有效)

我希望能够使用类似...

msys --command g++ -s main.cpp*...etc..*

因此它将加载 MSYS 环境并运行命令。这可能吗?

我是一个巨大的makefile新手,所以如果有更简单的方法,请告诉我!

4

2 回答 2

4

我从未设法通过 MSYS 使用 wxwidgets,尽管我以这种方式编译所有其他代码。在 wx 文档中进行了几天的探索未能找到解决方案,无论如何 Qt 可能是一个更好的可移植性赌注。

但足够脾。当你运行 msys 时,你实际上是在运行一个启动 rxvt 控制台的批处理文件。你真的不想用这个。相反,只需创建一个桌面快捷方式即可

C:\msys\bin\bash.exe

(或您的 MSYS 目录所在的任何位置)并单击它。

完成此操作后,如果 MSYS bin 目录位于 Windows PATH 上,则看起来像这样的 makefile 将理解反引号:

foobar:
    echo `ls`

根据我的经验,它不会做的是编译 wx.

于 2010-03-30T16:34:58.977 回答
2

您可能想要设置 gmake用来执行构成 makefile 的命令的 shell。我假设 MSYS 带有 bash 甚至是普通的 sh,它应该可以完成这项工作。

于 2010-03-30T16:25:19.853 回答