3

MinGWとmsysを使用してコードをコンパイルし、 wxWidgetsライブラリを学習しようとしています。これまでのところ良好ですが、CMD.exeを介してMSYSにコマンドを送信する方法が見つかりません。

私はSublimeTextを使用してファイルを編集し、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初心者なので、もっと簡単な方法があれば見せてください!

4

2 に答える 2

4

他のすべてのコードをそのようにコンパイルしていますが、MSYSを介してwxwidgetsを使用することはできませんでした。wxドキュメントで数日間の洞窟探検は解決策を見つけることができず、Qtはおそらくとにかくより良い移植性の賭けです。

しかし、十分な脾臓。msysを実行すると、実際にはrxvtコンソールを起動するバッチファイルが実行されます。あなたは本当にこれを使いたくありません。代わりに、デスクトップショートカットを作成して

C:\msys\bin\bash.exe

(またはMSYSディレクトリがある場所)そしてそれをクリックします。

これを実行すると、MSYS binディレクトリがWindowsパス上にある場合、次のようなmakefileはバッククォートを理解します。

foobar:
    echo `ls`

私の経験では、wxをコンパイルすることはできません。

于 2010-03-30T16:34:58.977 に答える
2

おそらく、gmakeがmakefileを構成するコマンドを実行するために使用するシェルを設定する必要があります。MSYSにはbashまたはプレーンshが付属していると思いますが、これでうまくいくはずです。

于 2010-03-30T16:25:19.853 に答える