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文件体积会变大。

相关推荐
芳草萋萋鹦鹉洲哦13 小时前
【Windows】tauri+rust运行打包工具链安装
开发语言·windows·rust
权泽谦13 小时前
R Shiny 交互式网页实战:从零到上线可视化应用
开发语言·信息可视化·r语言
hweiyu0014 小时前
Go Fiber 简介
开发语言·后端·golang
会跑的兔子14 小时前
Android 16 Kotlin协程 第二部分
android·windows·kotlin
Molesidy15 小时前
【VSCode】【Clangd】Win下的基于LLVM/Clangd+Clangd插件+MINGW+CMake的VSCode配置C/C++开发环境的详细教程
c++·ide·vscode·clangd·llvm
hhhh明16 小时前
quest2+alvr+steamvr
linux·windows·quest2
ᐇ95916 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表
码银16 小时前
【数据结构】顺序表
java·开发语言·数据结构
Mr_WangAndy17 小时前
C++_chapter13_C++并发与多线程_多线程概念,死锁,unique_lock(),lock_guard()使用
c++·lock·死锁·并发与多线程·unlock·lock_guard·unique_lock
小欣加油17 小时前
leetcode 946 验证栈序列
c++·算法·leetcode·职场和发展