鱼C论坛

 找回密码
 立即注册
查看: 1577|回复: 2

C++和matlab混合编程调用dll时出错

[复制链接]
发表于 2021-2-5 14:56:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
微信图片_20210205073137.png
写一个小程序想调取C++的dll库,按照网上步骤进行,但是却出现问题,说未在库中找到函数,萌新一只,还望大佬们解答
非常感激
C++程序如下
微信图片_20210205073726.png
微信图片_20210205073752.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-5 17:34:22 | 显示全部楼层
调用dll,第一种方法是用编译预处理指定要链接的函数库文件 *.lib
比如说你要链接的库文件叫 a.lib
#pragma comment(lib,"a.lib")       //如果a.lib 不在当前目录下,要指定目录

如果你不知道该链接哪个lib,就用windows api  LoadLibraryA 和 GetProcAddress


  1.         HMODULE module = LoadLibraryA("user32.dll");
  2.         if(module != 0)
  3.         {

  4.                 typedef int (WINAPI *FunMsgBox)(HWND,LPCSTR,LPCSTR,UINT);
  5.                 FunMsgBox fun = (FunMsgBox)GetProcAddress(module,"MessageBoxA");
  6.                 fun(0,"Hello,world",0,MB_OK);
  7.         }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-6 09:06:28 | 显示全部楼层
_declspec(dllexport)  是导出函数,这是写 dll 时候用的。

如果要调用dll ,应该是_declspec(dllimport)   ,只要声明就行了,不要写函数体。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-2 04:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表