2016-05-28 26 views
1

私はこれらのエラーを得続ける:SDL未解決の外部シンボル

error LNK2005: _main already defined in main.obj 
error LNK2019: unresolved external symbol _SDL_main referenced in function _main_utf8 
error LNK1120: 1 unresolved externals 

この

#include <stdio.h> 
#include <SDL.h> 

int main(int argc, const char* argv[]){ 
    printf("Hi\n"); 
    return 0; 
} 

を構築するとき、私は、Visual Studio 2013でのディレクトリとリンカを設定しているが、私はできません何がうまくいかなかったかを理解する。 32ビットSDLランタイムライブラリを使用しています。私はC++にもかなり新しいです。あなたの主な機能の前に

+2

[SDLがメインマクロを定義する理由](http://stackoverflow.com/questions/11976084/why-sdl-defines-main-macro) –

答えて

1

#define SDL_MAIN_HANDLED 

を定義これは(Windowsのみ)あなたのためのコマンドラインを解析するSDLの「サービス」を停止します。これは修正ですが、これはクロスプラットフォームのプログラムには適していません。

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

あなたはので、あなたは正確にそれ以外の場合は、あなたがエラーを与えるだろうしていることを強制SDL_Main.hで定義された主なマクロのこの操作を行う必要があります。他の修正が、それはこのようになりますように、主な変更することです持ってる。

関連する問題