使用VS2022打包有很多外部依赖项的c++代码,报错ERROR: Could not find file '路径\Release\ALL_BUILD' '拒绝访问。'

qq_65364446 2024-12-18 11:07:07

情况描述:

我使用VS2022打包有很多外部依赖项的c++代码,报错如下

ERROR: Could not find file '<.sln所在路径>\x64\Release\ALL_BUILD' '拒绝访问。'
========== “全部重新生成”: 24 成功,1 失败,0已跳过 ==========

这个大型项目叫 FS,是c++代码写的,运行后会生成一个FS.exe,
点击该exe会出现软件的窗口,就能够使用该软件了。
FS有很多外部依赖项,比如是libzip、tetgen、netgen、opengl的glew库等,写代码前需要正确安装这些,
也就是 需要配置环境。

 

现在代码写完了,我需要把这个大型项目用 VS 打包成一个exe或者setup文件,以达到这样的效果:
仅仅发送该exe或者setup文件,别人没有配置环境的电脑在点击该exe或者setup文件并且安装后,没有外部依赖项没有配置环境,直接通过点击安装后的exe就能够运行软件的窗口。

我在打包时,主输出项目设置成能够输出FS.exe的FS项目(最下面的图有),这种打包能够成功,但是没有配置环境的电脑不能正常使用。所以我又把主输出项目设置成ALL_BUILD,但是这次打包却失败了,显示“ERROR: Could not find file 'D:\Projects\FEBioStudiotest\FEBioStudio-develop\build\x64\Release\ALL_BUILD' '拒绝访问。' ”

 

 

我是用的管理员权限打开的VS 代码,不应该是权限问题导致的访问不了啊。

 

问题:

请问这个报错是什么意啊,这是怎么回事啊?我查遍了网络,但是没有人回答过类似的问题 QAQ

请问是什么导致的呢? 应该怎么解决呢?

我尝试了能够想到的方法,但是都不行,

现在不知道应该怎么解决他了?

 

...全文
525 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2024-12-19
  • 打赏
  • 举报
回复

学会使用 depends软件查看exe依赖的dll

qq_65364446 2024-12-19
  • 举报
回复
@赵4老师 depends 卡了,拖拽和file打开都试了,这样是 depends的正常情况吗
qq_65364446 2024-12-19
  • 举报
回复 1
@qq_65364446 是正常情况,win 10 及以上只能够用 Dependencies。链接:https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x64_Release.zip
qq_65364446 2024-12-24
  • 举报
回复
@赵4老师 你好。请问 dependencies 中的 api-ms-win-crt-runtime-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll api-ms-win-crt-math-11-1-0.dll -&gt; C:\Windows\systein32\ucrtbase.dll api-ms-win-crt-stdio-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll api-ms-win-crt-convert-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll api-ms-win-crt-heap-11-1-0.dll -&gt; C:\Windows\systein32\ucrtbase.dll api-ms-win-crt-string-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll api-ms-win-crt-utility-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll api-ms-win-crt-filesystem-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll api-ms-win-crt-locale-11-1-0.dll -&gt; C:\Windows\system32\ucrtbase.dll 是什么意思啊?为什么dll会指向同一个ucrtbase.dll呢? 到底用的是这些api...dll,还是被指向的同一个ucrtbase.dll呢?
2条回复
  • 打赏
  • 举报
回复

如果你没修改的话,这里有安装版下载:https://febio.org/downloads/

qq_65364446 2024-12-19
  • 举报
回复
@日立奔腾浪潮微软松下联想 他都能够打包成为一个单独的exe,为什么我用vs却没有弄成功啊T A T
  • 打赏
  • 举报
回复

这几个库里面,前面两个是可以静态链接的,netgen不确定,但是我看到有人说libngcore这部分不能静态链接,OpenGL的库是不能静态链接的。所以你想只发布一个exe估计不行,还是要带上一些DLL/SO之类的(当然OpenGL的运行库在windows上有自带的)。

qq_65364446 2024-12-19
  • 举报
回复
@日立奔腾浪潮微软松下联想 哇哦。你来了啊
qq_65364446 2024-12-19
  • 举报
回复
@日立奔腾浪潮微软松下联想 请问你经常使用vs打包吗?
qq_65364446 2024-12-19
  • 举报
回复
@日立奔腾浪潮微软松下联想 主输出应该用all_build,还是会输出exe的项目啊
1条回复

65,168

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧