使用CLion和vcpkg安装SDL2时出现链接编译错误求助
解决CLion+Vcpkg+SDL2编译时的_RTC链接错误
问题原因
你使用MinGW编译器,但vcpkg默认安装的x64-windows版本SDL2库是用MSVC编译的,MinGW与MSVC的二进制库不兼容,链接时找不到VS专属的运行时检查函数(_RTC_CheckStackVars、_RTC_InitBase、_RTC_Shutdown),导致报错。
解决步骤
重新安装MinGW版本的SDL2库
打开终端,进入vcpkg所在目录,执行对应命令:
静态库版本:vcpkg install sdl2:x64-mingw-static动态库版本:
vcpkg install sdl2:x64-mingw若之前安装过MSVC版本,可先卸载:
vcpkg remove sdl2:x64-windows配置CLion的CMake工具链
- 打开CLion的
File > Settings > Build, Execution, Deployment > CMake - 在
Toolchain选项中选择你使用的MinGW工具链,确保CMake生成器为MinGW Makefiles或适配MinGW的Ninja - 在
CMake options中添加工具链配置,替换[你的vcpkg路径]为实际路径(比如C:/Users/Amund/.vcpkg-clion/vcpkg):
若安装的是动态库,把-DCMAKE_TOOLCHAIN_FILE=[你的vcpkg路径]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-mingw-staticx64-mingw-static改成x64-mingw
- 打开CLion的
重新编译项目
点击CLion顶部的「Reload CMake Project」按钮,待缓存生成完成后重新编译即可。
内容的提问来源于stack exchange,提问作者HacksReported
相关产品推荐
相关产品推荐

