发布网友 发布时间:2022-04-22 01:11
共3个回答
热心网友 时间:2023-10-16 18:07
你是WIN7以上的系统吧,可以看作生成的manifest是你包含的DLL资源列表,程序执行的时候会优先搜索这个文件找到对应的DLL的。你移植到别的电脑的时候,程序搜索这个文件,但是没有找到对应的DLL(这里的DLL包含了你开发环境所用到的DLL,但是对程序执行没有影响),就会报错,所以你删除掉会发现程序可以执行了,但是这样做会有很大问题的。建议你编译的时候选择生成包含所有DLL(静态使用DLL而不是共享)。追问感谢回答! 我在x86上制作的程序 假定dll叫 abc.dll 如果一直到位上去,叫abc.dll 我应该在原文件中怎么处理保证其兼容性呢?
热心网友 时间:2023-10-16 18:08
回答一下楼主的追问:一般都是构建一个32位一个位两个版本的包。
如果你的exe只弄一个32位,但是想dll弄位,我不知道行不行,如果可以的话你就得运行时检测系统32位还是位,再动态加载dll。
热心网友 时间:2023-10-16 18:08
换成release就不会了追问现在release也有了
追答你发布程序的时候,把debug文件夹中不相关的全部删除. 单独一个exe就可以运行的.