CMAKE 使用 MinGW 构建 gui 应用程序



我想用SDL2构建gui应用程序。我链接了 SDL2 库(libSDL2.dll.alibSDL2main.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出现在目录中。

最新更新