问题描述
- 更新*
我制作了一个excell插件(.xll文件),其中包含一些数学函数,均使用c ++编译,并且可以在我的计算机上正常工作。好吧,当我尝试发送给其他人时,不是工作。 Excel会显示一条消息,提示文件已损坏,当我们尝试打开它时,请打开包含一些代码/单词/符号的表格
我试图找到解决方案,但无济于事。但是我发现了真正的问题是什么。 在此计算机上无法安装Visual Studio(完整版)后,xll加载项将起作用!
因此,我想我有一个与程序一起运行的Visual Studio(完整版)安装的程序,功能部件和组件。我尝试了SDK,但未成功。 请问你能帮帮我吗?我附加了3张图片,其中一张使用外接程序,第二张使用错误。
PS:我尝试为两个excell编译32位和x64版本,并且都在两个Excel(32和64位)中发生
一个同事要我更新-dumpbin / depends Addin.xll的结果 跟随风箱:
文件类型:DLL
图像具有以下依赖性:
KERNEL32.dll
USER32.dll
MSVCP140D.dll
VCRUNTIME140_1D.dll
VCRUNTIME140D.dll
ucrtbased.dll
摘要
1000 .00cfg
3000 .data
4000 .idata
1000 .msvcjmc
A000 .pdata
29000 .rdata
2000 .reloc
1000 .rsrc
70000 .text
32000 .textbss
1000 .tls
解决方法
1)确保发送给其他人的是发行版本,而不是调试版本。
2)尚未安装VC ++运行时的用户将需要从The latest supported Visual C++ downloads页安装适当的x86(32位)或x64(64位)可再发行文件(位数取决于您向其发送XLL的x86版本还是x64版本,而不取决于Windows安装的位数。
MSVCP140D.dll VCRUNTIME140_1D.dll VCRUNTIME140D.dll ucrtbased.dll
这些DLL名称中的'D'
后缀代表“调试”。这些是 debug C / C ++运行时DLL,它们由Configuration = Debug版本使用,并作为Visual Studio安装程序的一部分进行安装。根据{{3}},将在开发过程中使用它们,但不要以其他方式部署它们:
应用程序的调试版本和各种Visual C ++调试DLL无法重新分发。