CMake配置等同于GCC选项

时间:2017-06-19 09:25:06

标签: c++ gcc cmake linker

使用以下命令在Windows 10上使用SDL2使用g++编译我的C ++ MinGW-w64项目非常简单:
g++ main.c -o game.exe -lmingw32 -lSDL2main -lSDL2
但我似乎无法使用CMake创建等效配置。

这就是我的CMakeList.txt文件的样子(由CLion生成):

cmake_minimum_required(VERSION 3.7)
project(cfirst)

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp)
add_executable(cfirst ${SOURCE_FILES})

编译失败,引用多个“未定义的引用”,包括“对WinMain @ 16'的未定义引用”,我认为这是由错误编译引起的64位。
这与在直接使用-lmingw32 -lSDL2main -lSDL2时省略g++选项时会发生的情况相同 我如何将等效配置添加到CMakeList.txt文件?

1 个答案:

答案 0 :(得分:1)

如果链接器可以找到库,那么这应该有效:

target_link_libraries(cfirst PRIVATE mingw32 SDL2main SDL2)