You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CLion中生成独立exe及解决libgcc依赖缺失问题

在CLion中生成独立可执行文件(含动态依赖问题解决方案)

我来帮你一步步解决这两个CLion搭配MinGW环境下的常见问题:

一、如何在CLion中创建独立可执行文件(exe)

CLion基于CMake构建,核心是配置编译和链接选项,确保生成的exe不依赖额外动态库。具体步骤如下:

  • 配置CMakeLists.txt:先确保文件里正确定义可执行文件,示例:
    cmake_minimum_required(VERSION 3.9.4)
    project(YourProjectName)
    
    set(CMAKE_CXX_STANDARD 11) # 根据项目需求调整C++版本
    
    add_executable(YourExeName main.cpp) # 替换为你的实际源文件列表
    
  • 添加静态链接规则:在CMakeLists.txt中加入参数,强制静态链接编译器运行时库:
    target_link_libraries(YourExeName PRIVATE -static-libgcc -static-libstdc++)
    
  • 切换到Release构建模式:Debug模式默认带调试信息且用动态链接,点击CLion顶部工具栏的构建配置(默认是cmake-build-debug),切换到cmake-build-release;也可以在Settings > Build, Execution, Deployment > CMake中新增Release Profile,设置Build type为Release。
  • 重新构建项目:点击工具栏的「Build」按钮,生成的独立exe会在对应的cmake-build-release目录下。

二、解决"libgcc_s_dw2-1.dll not found"错误,生成无动态依赖的独立exe

针对你使用的CLion 2017.2.4、MinGW 5.0、cmake 3.9.4环境,这个错误是因为MinGW默认动态链接了gcc的运行时库libgcc_s_dw2-1.dll,解决方法如下:

  • 完善CMake链接配置:如果项目用到线程库,需要补充静态链接参数,修改CMakeLists.txt:
    target_link_libraries(YourExeName PRIVATE -static-libgcc -static-libstdc++ -static-libpthread)
    
  • 全局CMake参数配置(可选):不想修改CMakeLists.txt的话,可在CLion的Settings > Build, Execution, Deployment > CMake中,找到对应Profile(比如Release),在CMake options里添加:
    -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++ -static-libpthread"
    
  • 验证依赖情况:构建完成后,可用MinGW的ldd命令(或Windows下的Dependency Walker工具)检查exe,确认不再依赖libgcc_s_dw2-1.dll等编译器自带动态库。

注意:如果项目依赖第三方动态库(比如Qt相关DLL),这些仍需和exe放在同一目录,上述配置仅解决编译器自带运行时库的依赖问题。

内容的提问来源于stack exchange,提问作者super sahar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:40:06