トップページ > 記事閲覧
MinGwでリンクできない
名前:teraboo 日時: 2018/03/19 17:12

MinGwはホームページからダウンロードしたversion 6.3.0です。DXライブラリはWindows版 Gnu C++( MinGW )用(Ver3.19)をダウンロードする(自己解凍形式(約27.4MB))です。 プロジェクトに追加すべきファイル_GCC(MinGW)用\5_2_0_w64\x86_64の中のものを使いました。 エラーメッセージは C:\bin\program>g++ test02.cpp -I"C:\MinGW\include" -L"C:\MinGW\lib" -DDX_GCC_COMPILE -DDX_NON_INLINE_ASM -lDxLib -lDxUseCLib -lDxDrawFunc -ljpeg -lpng -lzlib -ltiff -ltheora_static -lvorbis_static -lvorbisfile_static -logg_static -lbulletdynamics -lbulletcollision -lbulletmath -lopusfile -lopus -ls ilk_common -lcelt -o test02.exe C:\Users\teraj\AppData\Local\Temp\cc0p7dvJ.o:test02.cpp:(.text+0x7): undefined reference to DxLib::DxLib_Init()' C:\Users\teraj\AppData\Local\Temp\cc0p7dvJ.o:test02.cpp:(.text+0x34): undefined reference to DxLib::GetColor(int, int, int)' C:\Users\teraj\AppData\Local\Temp\cc0p7dvJ.o:test02.cpp:(.text+0x4c): undefined reference to DxLib::DrawPixel(int, int, unsigned int)' C:\Users\teraj\AppData\Local\Temp\cc0p7dvJ.o:test02.cpp:(.text+0x51): undefined reference to DxLib::WaitKey()' C:\Users\teraj\AppData\Local\Temp\cc0p7dvJ.o:test02.cpp:(.text+0x56): undefined reference to `DxLib::DxLib_End()' collect2.exe: error: ld returned 1 exit status test02.cppのソースコードは //-----------ここから----------- #define DDX_GCC_COMPILE #define DDX_NON_INLINE_ASM #include "DxLib.h" using namespace std; // プログラムは WinMain から始まります int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1 ; // エラーが起きたら直ちに終了 } DrawPixel( 320 , 240 , GetColor( 255,255,255 ) ) ; // 点を打つ WaitKey() ; // キー入力待ち DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 } // -------------- ここまで ------------------------ どこが悪いのでしょうか? よろしくお願いいたします。
メンテ

Page: 1 |

Re: MinGwでリンクできない ( No.1 )
名前:yumetodo 日時:2018/03/17 11:29

ふと思ったが、DxLibのLibはどこにおいてあるんだろうか、パス指定にそれらしいものがないんですが。
メンテ
Re: MinGwでリンクできない ( No.2 )
名前:管理人 日時:2018/03/17 23:38

リンクが失敗するのは MinGW のバージョン( 6.3.0 )とDXライブラリMinGW用のバージョン( 5.2.0 w64 )が異なるからだと思います MinGW version 6.3.0用のDXライブラリの aファイルを作成したいと思いますので、 tarabooさんが MinGW version 6.3.0 をダウンロードされたウェブサイトの URL を教えていただけないでしょうか? m(_ _)m
メンテ
Re: MinGwでリンクできない ( No.3 )
名前:teraboo 日時:2018/03/19 17:10

MinGW version 6.3.0 をダウンロードしたウェブサイトは sourceforge.net/projects/mingw/files/latest/download です。 よろしくお願いいたします。 ちなみにDxLibのLibはC:\MinGW\libにコピー。*.hファイルはC:\MinGW\includeにコピーしています。
メンテ
Re: MinGwでリンクできない ( No.4 )
名前:管理人 日時:2018/03/20 01:34

URLを教えていただきありがとうございます 次の休み( 水曜日 )に MinGW ver6.3.0用のDXライブラリファイルを作成したいと思いますので、少しお時間をください m(_ _)m
メンテ
Re: MinGwでリンクできない ( No.5 )
名前:管理人 日時:2018/03/21 23:17

お待たせしました、MinGW v6.3.0 用のライブラリファイルを追加した暫定の最新バージョンを こちらにアップしましたので、よろしければお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // Windows版 MinGW 用
メンテ
Re: MinGwでリンクできない ( No.6 )
名前:teraboo 日時:2018/03/22 16:48

最新バージョンを試したところ、エラーメッセージが逆に増えてしまいました。 以下、エラーメッセージです。 C:\bin\program>g++ test02.cpp -I"C:\MinGW\include" -L"C:\MinGW\lib" -DDX_GCC_COMPILE -DDX_NON_INLINE_ASM -lDxLib -lDxUseCLib -lDxDrawF unc -ljpeg -lpng -lzlib -ltiff -ltheora_static -lvorbis_static -lvorbisfile_static -logg_static -lbulletdynamics -lbulletcollision -l bulletmath -lopusfile -lopus -lsilk_common -lcelt -o test02.exe C:\MinGW\lib/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x17d0): undefined reference to `DeleteObject@4' C:\MinGW\lib/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x17e8): undefined reference to `DeleteDC@4' C:\MinGW\lib/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x251d): undefined reference to `CreateCompatibleDC@4' C:\MinGW\lib/libDxLib.a(DxBaseImage.o):DxBaseImage.cpp:(.text+0x25c3): undefined reference to `CreateDIBSection@24' : : C:\MinGW\lib/libDxLib.a(DxFontWin.o):DxFontWin.cpp:(.text+0x1645): undefined reference to `SelectObject@8' C:\MinGW\lib/libDxLib.a(DxFontWin.o):DxFontWin.cpp:(.text+0x166b): undefined reference to `SelectObject@8' C:\MinGW\lib/libDxLib.a(DxFontWin.o):DxFontWin.cpp:(.text+0x1685): undefined reference to `DeleteDC@4' C:\MinGW\lib/libDxLib.a(DxFontWin.o):DxFontWin.cpp:(.text+0x2bc5): undefined reference to `EnumFontFamiliesExW@20' C:\MinGW\lib/libDxLib.a(DxGraphicsAPIWin.o):DxGraphicsAPIWin.cpp:(.text+0x65e7): undefined reference to `GetStockObject@4' C:\MinGW\lib/libDxLib.a(DxGraphicsAPIWin.o):DxGraphicsAPIWin.cpp:(.text+0x6736): undefined reference to `DeleteObject@4' C:\MinGW\lib/libDxLib.a(DxGraphicsAPIWin.o):DxGraphicsAPIWin.cpp:(.text+0x7238): undefined reference to `CreateSolidBrush@4' collect2.exe: error: ld returned 1 exit status
メンテ
Re: MinGwでリンクできない ( No.7 )
名前:teraboo(解決) 日時:2018/03/22 22:00

g++の引数に -mwindowsが足りなかったので加えたところ、リンクできました。 g++ test02.cpp -mwindows -I"C:\MinGW\include" -L"C:\MinGW\lib" -DDX_GCC_COMPILE -DDX_NON_INLINE_ASM -lDxLib -lDxUseCLib -lDxDrawFunc -ljpeg -lpng -lzlib -ltiff -ltheora_static -lvorbis_static -lvorbisfile_static -logg_static -lbulletdynamics -lbulletcollision -lbulletmath -lopusfile -lopus -lsilk_common -lcelt -o test02.exe としたところ、リンクが成功し、test02.exeが生成されました。 動作確認もできました。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存