9.3-win32 MinGW実行可能ファイルに欠落しているlibgcc_s_seh-1.dllとlibstdc++-6.dll DLLを静的にリンクする方法

9.3-win32 MinGW実行可能ファイルに欠落しているlibgcc_s_seh-1.dllとlibstdc++-6.dll DLLを静的にリンクする方法

MinGWを使ってLinux上の単純なWindowsアプリケーションをコンパイルしたいと思います。

私はそれを次のようにコンパイルします:

x86_64-w64-mingw32-g++ -L. -l:mathlib.dll -o fib main.cpp mathlib.h

fibこれにより、N番目のフィボナッチ数を計算するためにインポートされた関数を使用する実行可能ファイルが作成されますmathlib.dll

fibWindowsで実行すると文句を言うlibgcc_s_seh-1.dlllibstdc++-6.dll失われます。

これらのDLLをWindowsにコピーすると、すべてがうまく機能しますが、これらのMinGW依存関係をすべての実行可能ファイルにコピーしたくありません。

fooこれらのMinGW依存関係を静的にリンクして他のDLLに依存しないようにするにはどうすればよいですかmathlib.dll

ベストアンサー1

mathlib.dllとオプションを使用して-static-libgccプログラムをビルドします(必要な場合)-static-libstdc++

x86_64-w64-mingw32-g++ -static-libgcc -static-libstdc++ -L. -l:mathlib.dll -o fib main.cpp mathlib.h

これにより、外部DLLに依存しないlibgccバイナリが生成されますlibstdc++

おすすめ記事