我想用SDL2构建gui应用程序。我链接了 SDL2 库(libSDL2.dll.a
和libSDL2main.a
(,但我不知道如何将-mwindows
标志应用于我的应用程序。没有他.exe
我的应用程序文件不会显示窗口(执行没有任何效果(。我使用MinGW-w64,我的操作系统是Windows 10。在命令行中,我可以像这里一样执行此操作(请参阅B节(。我如何在使用cmake
应用此标志?控制台应用程序工作正常。
我尝试下一个变体,但它不起作用。
cmake -G "MinGW Makefiles" -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ -D CMAKE_EXE_LINKER_FLAGS="-mwindows"
cmake -G "MinGW Makefiles" -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ -D CMAKE_CXX_FLAGS="-mwindows"
同样在CMakeLists.txt
我尝试这样做
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows")
您可以将WIN32
参数传递给add_executable
,CMake 将为您执行此操作:
add_executable(target_name WIN32 ${sources})
我基本上复制粘贴了CLion在命令行中执行的内容,并且它起作用了:
$ cmake DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - MinGW Makefiles" ../
$ cmake --build ./ --target target_name -j 6
[ 50%] Building CXX object CMakeFiles/target_name.dir/main.cpp.obj
[100%] Linking CXX executable target_name.exe
[100%] Built target tree_traverse
在此之后,可执行文件target_name.exe
出现在目录中。