小白+菜鸡 2024-01-15 11:52 采纳率: 40%
浏览 99
已结题

VS生成的exe文件在调试时没问题,在文件夹打开出现无法定位程序输入点的情况

在VS2022c++调试程序时运行没问题,但在release文件夹中单独打开exe文件
却出现:无法定位程序输入_kmpc_critical_with_hint于动态链接库xxx.exe上的问题。

img


在网上查到的都是在qt开发时出现的问题,说是环境变量的问题,但我这并不是qt,我也不知道我的路径是否有问题,这是我的path路径

img


程序中配置了MKL数学库和engine库,不知道是否和这有关系。

  • 写回答

1条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-01-15 12:00
    关注

    “无法定位程序输入点kmpccriticalwithhint于动态链接库xxx.exe上” 此错误通常表明程序未能找到所需的 DLL 函数,一般是因为缺少了某些重要的动态链接库(DLLs)。通常可能有以下原因:

    运行环境缺少必要的动态链接库DLL:通常在VS开发环境下,由于VS安装包已经集成了大部分运行库,因此在VS IDE中调试运行不会出现问题。但是在独立环境下运行.exe文件,系统可能会找不到对应的运行库文件,因此报错。解决这个问题,最直接的方法就是将所需的 dll 文件复制到和 .exe 文件相同的目录下。
    版本混淆:如果你的程序和使用的库是用不同版本的编译器编译的,也可能导致类似的问题。这可能是一个棘手的问题,因为解决这个问题可能需要重新编译你的库或者你的程序,确保所有的部分都是用同样版本的编译器编译的。
    环境变量路径设置问题:如果你的 DLL 文件放在了某个目录下,而这个目录没有包含在环境变量 PATH 中,系统可能找不到 DLL 文件。你可以尝试将包含 DLL 文件的目录添加到环境变量 PATH 中。
    运行时与开发时的配置不一致:在Visual Studio中,调试模式与发布模式有不同的设置。确保这两种模式下的设置一致,比如链接器的依赖。

    请根据你电脑上的具体情况尝试解决此问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月21日
  • 创建了问题 1月15日