質問: ### 前提・実現したいこと 現在、C++を勉強しているものです。コンパイラにはMinGWのg++を使用しています。 こちらのサイト()を参考にしながら、DXライブラリの活用を始めようかと思い、以下のソースコードを作成しました。実行してみたところ、ソースコード自体にエラーは見られなかったのですが、.exeファイルが出力されません。 DXライブラリ置き場からMinGW用、自己解凍形式のものをダウンロードし、.hファイルや.aファイル等もMinGWのincludeフォルダにすべてコピーしました。どのようにすればMinGWでDXライブラリを使用してプログラムが作成できるでしょうか。 ### 発生している問題・エラーメッセージ MinGWでDXライブラリを用いた.exeファイルが出力できない。 ### 該当のソースコード ``` #define DDX_GCC_COMPILE #define DDX_NON_INLINE_ASM #include #include #include #include using namespace std; int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ DxLib_Init(); // DXライブラリ初期化処理 WaitKey(); // キー入力待ち DxLib_End(); // DXライブラリ終了処理 return 0; } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) テキストエディタにはSublime Text、コンパイラは上記のとおりMinGWを使用しています。 .aファイルは C:\MinGW\lib\gcc\mingw32\5.3.0 .hファイルは C:\MinGW\lib\gcc\mingw32\5.3.0\include にコピーしました。 ### 補足 出力した際、以下のようなログ?が出ました。 ``` C:\Users\IA1B0~1.CHI\AppData\Local\Temp\ccto821W.o:dxpractice1.cpp:(.text+0x7): undefined reference to `DxLib::DxLib_Init()' C:\Users\IA1B0~1.CHI\AppData\Local\Temp\ccto821W.o:dxpractice1.cpp:(.text+0xc): undefined reference to `DxLib::WaitKey()' C:\Users\IA1B0~1.CHI\AppData\Local\Temp\ccto821W.o:dxpractice1.cpp:(.text+0x11): undefined reference to `DxLib::DxLib_End()' collect2.exe: error: ld returned 1 exit status [Finished in 4.6s with exit code 1] [shell_cmd: g++ "C:\Users\\Documents\Sublime Text\DxLib_Practice\dxpractice1.cpp" -o "C:\Users\\Documents\Sublime Text\DxLib_Practice/dxpractice1" && "C:\Users\\Documents\Sublime Text\DxLib_Practice/dxpractice1"] [dir: C:\Users\\Documents\Sublime Text\DxLib_Practice] [path: C:\MinGW\bin;C:\MinGW\msys\1.0\bin;C:\MinGW\bin;C:\MinGW\msys\1.0\bin] ```
回答: こんにちは。 エラー・メッセージの記載がないので確実ではありませんが、恐らくDXライブラリとリンクできていないのではないでしょうか?(ldがundefined symbolエラーを出している。) もし、そうであれば、Gnu C++ ( MinGW )によるDXライブラリの使い方の手順を厳密に実施する必要が有ります。 更に、リンカ・オプションに-L(ライブラリ・パスの指定)が必要だろうと思います。 リンク時に必要なオプションとして、`-L `を追加します。