Windows下打包C++程序无法执行:无法定位程序输入点于动态链接库

1、问题描述

  • 环境:CLion+CMake+MinGW64
  • 遇到问题:打包的exe无法运行,提示无法定位程序输入点于动态链接库。

2、解决思路

​ 通过注释头文件的方式,初步定位问题是因为使用了#include <thread> 多线程库引起的。而且exe文件在其它电脑上可以运行,所以应该是我的电脑缺失相应的dll。

​ 本想下载相应的dll来解决,但是这个报错不提示缺失哪个dll,所以使用CMake编译指令静态链接 可执行文件:set(CMAKE_EXE_LINKER_FLAGS -static) 来解决。

set(CMAKE_EXE_LINKER_FLAGS -static) 在CMake中的意思是设置可执行文件链接器的标志为静态链接 。这意味着生成的可执行文件将会静态链接所有的库而不是动态链接 。这样可以确保生成的可执行文件在其他系统上也能够正常运行,而不需要依赖于特定的动态链接库。使用该方法的缺点就是编译后的exe文件体积会变大。

相关推荐
逻辑驱动的ken8 小时前
Java高频面试考点场景题08
java·开发语言·面试·求职招聘·春招
tankeven9 小时前
HJ182 画展布置
c++·算法
W23035765739 小时前
【改进版】C++ 固定线程池实现:基于调用者运行的拒绝策略优化
开发语言·c++·线程池
星辰_mya9 小时前
PV之系统与并发的核心wu器
java·开发语言·后端·学习·面试·架构师
谭欣辰10 小时前
C++ 控制台跑酷小游戏
c++·游戏
做时间的朋友。10 小时前
Java虚拟线程详解:从原理到实战,解锁百万并发新姿势
java·开发语言
一只大袋鼠10 小时前
MyBatis 从入门到实战(二):代理 Dao 开发与多表关联查询
java·开发语言·数据库·mysql·mybatis
明月醉窗台10 小时前
Python-opencv批量处理文件夹中图像操作
开发语言·python·opencv
周末也要写八哥10 小时前
C++实际开发之泛型编程(模版编程)
java·开发语言·c++
好家伙VCC10 小时前
**发散创新:用 Rust实现游戏日引擎核心模块——从事件驱动到多线程调度的实战
java·开发语言·python·游戏·rust