屋檐不懂雨
2019-01-19 14:26
采纳率: 33.3%
浏览 510

PowerBuilder调用C++ dll本机运行可以,但在另一台机子上运行就报导出函数错误

如图
图片说明

图片说明

两台电脑上调用的动态库分别用dll查看工具也没有发现异常,导出的函数都是正常的.
C++dll调用约定也是stdcall,def文件导出的函数
PB声明如图
图片说明

两台电脑都是win10 64位应该也不是环境问题.
求告知解决方法

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 屋檐不懂雨 2019-02-25 21:27
    已采纳

    已经找到问题了,我写的C++ dll用到了我电脑上已经安装的VC++运行库,把生成的dll拷贝到其他机子上运行时候其他机子没有安装VC运行库导致无法运行.
    C++ 程序编译时候可以选择MT模式,这样可以把运行依赖都打包到dll中,这样换到其他机子也可以直接运行

    打赏 评论
  • bostonAlen 2019-01-19 17:48

    看下是不是需要release,是的话重新生成一下。确认你要调用的DLL的地址是相对路径还是绝对路径;如果是绝对路径要查看所要调用的DLL文件是否在该路径下,如果没有把其拷贝过去;如果是相对路径,查看当前工程目录下bin/DEBUG文件件如果没有把其拷贝过去

    打赏 评论

相关推荐 更多相似问题