65,168
社区成员




我使用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
请问是什么导致的呢? 应该怎么解决呢?
我尝试了能够想到的方法,但是都不行,
现在不知道应该怎么解决他了?
学会使用 depends软件查看exe依赖的dll
如果你没修改的话,这里有安装版下载:https://febio.org/downloads/
这几个库里面,前面两个是可以静态链接的,netgen不确定,但是我看到有人说libngcore这部分不能静态链接,OpenGL的库是不能静态链接的。所以你想只发布一个exe估计不行,还是要带上一些DLL/SO之类的(当然OpenGL的运行库在windows上有自带的)。