2016-04-23 3 views
0

私はMinGW g ++を使用しており、wxWidgetsライブラリファイルをインストールしました。-mingw32-makeです。しかし、単純なプログラムをコンパイルしようとすると、次のようになります。C++ MinGWを使ってWxWidgetプログラムをコンパイルするには?

// test.cpp 
#include "wx/wx.h" 

int main(int , char**) 
{ 
    return 0; 
}; 

リンクが失敗します。

私は私が余分なリンカーパラメータを必要と表示されます

g++ test.cpp - o test.exe 

、このコマンドラインを使用します。私は正確に何が必要ですか?

また、私はちょっと調べていましたが、wxWidgetsフォルダのサンプルプログラムで-mingw32-make -nを使用し、自分のファイルに同じパラメータを使用すると言った人が見つかりましたが、失敗します。

g++ test.cpp -o test.exe -g -mthreads -L.....\lib\gcc_lib -Wl,-- subsystem,windows -mwindows -lwxmsw31ud_core -lwxbase31ud -lwxtiffd -lwxjpegd -lwxpngd -lwxzlibd -lwxregexud -lwxexpatd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw31ud_core d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxbase31ud d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxtiffd d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxjpegd d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxpngd d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxzlibd d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxregexud d:/programming/software/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../../mingw32/bin/ld.exe: cannot find -lwxexpatd collect2.exe: error: ld returned 1 exit status

+2

エラーメッセージはシークレットですか? –

+0

いいえ、私はそれを示すために質問を編集しました。私はそれを含めるべきであることを指摘してくれてありがとう。 –

+0

'-L ..... \ lib \ gcc_lib'これは何をすべきでしょうか?それらのドットはすべて一列に並んでいますか? –

答えて

0

どのようにどのようにリンクするライブラリ名を指定するためにlibディレクトリとを含める:

これは、私は、エラーメッセージとして何を得るのですか?

g++ test.cpp -L/path/to/library/directory -lwxpngd -o test.exe 

とは何ですか? -lwxpngd -l =接頭辞lib -lwxpngd = -libwxpngd

そして-L/path/to/library/directoryなしのlibディレクトリのlib wxpngd名前はlibwxpngdが配置されているパスです。

+0

ありがとうございます。私は実際それをやっていました。あなたは正しかった、私はちょうどMinGWを最初に使用する方法について読んでいたはずです。あなたの時間を無駄にして申し訳ありません。 –

+1

@Ramy、これはwxWidgetsで動作する方法ではありません。少なくとも何か提案する前に、ドキュメントをチェックしてください。 – Igor

0

cmakeやIDEのようなコードブロックのようなビルドツールを使用することをお勧めします。 mingw(私はWin32システムであると仮定している)を使用しているので、2つのインクルードファイルを指すmakefileを作成する必要があります:1つはlibまたはdll設定ファイル(wxWidgetsのコンパイル時に作成されます)、wxWidgetsフレームワークとライブラリ使用する。私はこれを読むことをお勧めします穴の事をsumarize page

関連する問題