上一篇经验提到,我们用C++调用动态链接库DLL没有问题,但其他语言无法调用。本文将介绍如何解决在VS2010中编写的DLL无法被其他语言调用的难题。
1、 我们用工具查看,右键点击解决方案,选择在Windows资源管理器中打开文件夹。

2、 我编译了Release版,进入Release文件夹,找到SimpleDLL.dll文件,然后用Depends工具打开。

3、 当前编译版本仍依赖MSVCR100.DLL,未安装VS2010的电脑无法使用。需右键单击项目,在属性中调整设置以解决此问题。

4、 在配置属性的常规选项中,于左侧选取,在右侧找到MFC使用处,选择静态库中的MFC。

5、 MFC修改还有一种方法:vs2010发布时,去掉msvcp100.dll和msvcr100.dll,以下是图解说明。
6、 观察函数,包含特殊字符,其他语言无法调用。需在头文件函数声明添加extern C标志,示例如下:

7、 重新编译后,用Depends工具查看,发现依赖项消失,函数名称恢复正常。
