鱼C论坛

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

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

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

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

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

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

使用道具 举报

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

如果你不知道该链接哪个lib,就用windows api  LoadLibraryA 和 GetProcAddress
        HMODULE module = LoadLibraryA("user32.dll");
        if(module != 0)
        {

                typedef int (WINAPI *FunMsgBox)(HWND,LPCSTR,LPCSTR,UINT);
                FunMsgBox fun = (FunMsgBox)GetProcAddress(module,"MessageBoxA");
                fun(0,"Hello,world",0,MB_OK);
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

如果要调用dll ,应该是_declspec(dllimport)   ,只要声明就行了,不要写函数体。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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