どのように静的コンパイルするSDLゲームWindows
質問
そこで広く用いられていを静的にリンクさ"単一のバイナリ"バージョンのゲームします。リンクしたいsdl,sdl_image、sdl_mixerに引数の支援図書館です。残念ながらまだ見つかりをわかりやすく伝えるためのすべてをコンパイルやリンクの使用cygwin/mingw/gcc.調査を実施しているのは、同じ伝えすべての既存の公共のバージョンは共有ライブラリ/dll.
ただ伝える事が出来るって事licencingます。ソースの開室とのセットアッププログラム/LGPLnessのsdlには関係ありません。
解決
ンパイルするときに、プロジェクトに必要なものだけで作れるカップルの変更はmakefile.
- の代わりに
sdl-config --libs
, -利用sdl-config --static-libs
- サラウンドの使用上記の
sdl-config --static-libs
と-Wl,-Bstatic
や-Wl,-Bdynamic
.これはGCCを静的リンク、のための図書館のいずれかを指定します。
がmakefile現在、次のように記述されています。
SDLLIBS=`sdl-config --libs`
に変更するには:
SDLLIBS=-Wl,-Bstatic `sdl-config --static-libs` -Wl,-Bdynamic
これらは実際に同一のもので すべ についてのUnix系システムがその原因として多くの誤差はUnixに類が好きでご利用の場合は簡単になり -static
フラグGCCのようなWindows上でしか利用できません。
他のヒント
この SDLメーリングリスト投稿 このsdl開発ツール船sdl-configスクリプトが利用できるの静的-libフラグをリンカーフラグが必要です。
環境:VMWareの仮想マシンのWindows7x64備しDev c++を構築7.4.2.569,complilador g++tdm-1)4.6.1
一度SDL2-2.0.3APIとして設置された構成Dev c++がないかどうかは分からなって伝統が必要でョンをインストールして下さい。
最初の問題は、Windows7を示して変更の方法論とった。庫していますか?Ref. https://stackoverflow.com/users/464581/cheers-and-hth-alf
最初の壁SDL_platform.hはそんなに悪くないの下、覚えていないのがダウンロードしましたが、次のいない事を示した。
しなければならなSDL2.h lsィレクトリ内のディレクトリの実行形式にまとめたものです。
D:\prg_desa\zsdl2>g++ bar.cpp main.cpp -o pepe1 -ID:\SDL2-2.0.3\i686-w64-mingw32\include\SDL2 -LD:\SDL2-2.0.3\i686-w64-mingw32\lib -lmingw32 -lSDL2main -lSDL2 -mwindow
私ための作品SDL2ます。
それはSDL libにLGPLライセンス.
したい場合に静的にリンクをlib(まいの場合は再コンパイルします。でもハッキングのmakefileがまだゲームが対応のオープンソースのライセンスをしています。
にSDL-libて共有ライブラリがほとんどのプログラムを使用する廃業しています。のバイナリの配布が形で多くの人が必要です。
自分のシステム(Ubuntuしていました以下のフラグ:
-Wl,Bstatic -lSDL_image `sdl-config --libs` -lpng12 -lz -ltiff -ljpeg -lasound -laudio -lesd -Wl,-Bdynamic `directfb-config --libs` -lpulse-simple -lcaca -laa -ldl
リンクするSDL,SDL_
画像は数多く、依存関係としております。libdlしたい静的な、完全に静的バイナリを使用するSDL_
画像は貧しいアイデアです。パルスcaca、aa、directfbだけでなく、運動作します。いかにも図していない。