私はCMakeでサポートされているすべてのプラットフォームでコンパイルできる簡単なプロジェクトを設定しようとしています。 Win7システムでプロジェクトを開始し、SDL.hとGL/glew.hを含む小さなmain.cppを書きました。私はfind_package(SDL)とfind_package(GLEW)を呼び出して、私のCMakeLists.txtでVS10は常にSUBSYSTEM:WINDOWSにリンクします。 CMake + SDL + GLEW
int main(int, char**) {}
:メイン機能のスタイルは、単純なC++です。 CMakeの部分はうまく機能したので、私はちょうどVS10-ソリューションファイルを開くと、私はLNK2019を取得するときにコンパイルしてみました:
エラーLNK2019:機能の中で参照未解決の外部シンボルメイン_ _tmainCRTStartup
これは間違ったサブシステムを選択したことを意味しますか?しかし、単にサブシステムをCONSOLEからWINDOWSに切り替えるだけで問題が解決しない場合は、 CMakeはそれに対して隠されたオプションを設定しましたか?私は単純なプログラムをvs10でどのようにコンパイルできますか?
add_executableを使用する場所のCMakeListsの部分を表示できますか?それはあなたが(おそらく)使うことができる "WIN32"オプションを持っています。 –
$ {SOURCES}にはmain.cppが含まれ、$ {HEADERS}にはmain.hが含まれています。 'add_executable( NameOfMyExecutable $ {SOURCES} $ {ヘッダー} ) – marsuek