2011-02-04 33 views
1

私はMinGWとEclipseを使用しているウィンドウでプロジェクトを構築しようとしています。 私はSDLライブラリを使用していますが、私はそれをcomplieしようとすると、私はエラー`SDL_main 'への未定義の参照

g++ -Wl,-subsystem,windows -oplikoo.exe src\mouse.o src\camera.o src\Timer.o src\Pegs.o src\Graphics.o src\FPS.o src\Ball.o -lmingw32 -lSDLmain -lSDL.dll -lSDL_image -lSDL_mixer 
c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../libSDLmain.a(SDL_win32_main.o): In function `console_main': 
/Users/hercules/trunk/SDL-1.2/./src/main/win32/SDL_win32_main.c:315: undefined reference to `SDL_main' 

を取得し、私はメインはint main(int argc, char *argv[])署名を有していなければならないことを理解し、そのファイル内#include <SDL.h>が、それはまだ動作しません。 。

答えて

2

main.cppにはありませんが、あなたのコンパイル行上

2

スキャンをコンパイルされている、のsrcディレクトリではありませんでした、私はあなたが直接「SDL.dll」に対してリンクしようとしているに気づきました。それはあなたが望むものではありません。 libSDL.laとリンクする必要があります(実際にmingwを使用している場合)。

また、これが何かに影響を与えるかどうかはわかりませんが、最後に「SDL」にリンクすると聞いています。

+0

私はいつもSDLまたはSDL.dllと直接リンクしていますが、これまでのところ、mingw32、SDLmain、およびSDLmainの前にSDL – loosecannon

5

これはちょうど私に起こります。 argsパラメータでmainを定義し始めたとき:

int main(int argc, char* args[]) 

コンパイルエラーが発生しました。

+1

にリンクしていましたが、質問に答えた。 –