2
私は共同プロジェクトで作業しています。プロジェクトのマスターブランチを管理する人は、Macで動作します。このため、メイクファイルには、Windows上で私にはうまく翻訳されない小さな違いがいくつかあります。私はMinGWを使ってライブラリを保持し、g ++を使ってコンパイルします。MakefileにSDLライブラリをリンクする、C++
彼のために働くのMakefile(私はそれが行くべきと思ったとして)
bomb: source/Level.cpp source/Level.h source/main.cpp
g++ -o bomb source/Level.cpp source/main.cpp -Wall -I. -I\MinGW\include\SDL -lSDLmain -lSDL -lSDL_image
のMakefile:
bomb: source/Level.cpp source/Level.h source/main.cpp
g++ -o bomb source/Level.cpp source/main.cpp -Wall -I. -I/Library/Frameworks/SDL.framework/Headers -lSDLmain -lSDL -lSDL_image -framework
はSDLライブラリのインクルードファイルをマイC」である:\ MinGWの\は、 \ SDL "となります。その知識を使って、私はどのようにmakefileを正しく書いていますか?注意点として、私の現在のメイクファイルを使用しているとき私が得るエラーは次のとおりです。
C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to '[email protected]'
をご覧くださいありがとうございます!あなたは非常に簡単に説明できますか、私の問題を解決したのはなぜですか?また、サイトが約5分で私を許可するとき、あなたの答えを受け入れるでしょう:) – Nibirue
AFAIK SDLは 'main'関数をMinGW32ランタイムライブラリにある' WinMain'関数に変換します。したがって、あなたはそれにリンクする必要があります。 –
実際には、libmingw32が最初になければなりません。 libsの正しい順序は次のとおりです: '-lmingw32 -lSDLmain -lSDL ... rest' – Yarg