【发布时间】:2018-06-08 00:22:45
【问题描述】:
我又是一个傻瓜,他试图通过“以正确的方式”做事来做一个像样的FindSDL2.cmake。但是,当涉及到以下问题时,我正在撞墙:
# SDL2main imported target.
add_library(SDL2::SDL2main UNKNOWN IMPORTED)
set_target_properties(SDL2::SDL2main PROPERTIES
IMPORTED_LOCATION "${SDL2_MAIN_LIBRARY}")
问题是,当使用 MinGW 编译时,SDL2main 需要-lmingw32 才能找到WinMain。而且它必须在链接器标志中位于 SDL2main 之前。
看来幸福之路要我这样做:
if(MINGW)
set_target_properties(SDL2::SDL2main PROPERTIES
INTERFACE_LINK_LIBRARIES mingw32)
endif()
但这不起作用,因为mingw32 在链接器命令上在 SDL2main 之后。它需要在之前。我也不想让目标自己插入它。
【问题讨论】: