首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

matlab与C混合编程有关问题, 顺带散分

2012-03-08 
matlab与C混合编程问题, 顺带散分我用用matlab里面的mex把C编写的库文件改写成matlab版本的dll库现在有个

matlab与C混合编程问题, 顺带散分
我用用matlab里面的mex把C编写的库文件改写成matlab版本的dll库

现在有个问题:

1.   用mex将头文件和lib库重写下,   编译链接通过,   matlab中运行也通过.   C版本的api接口函数的实现代码是在lib中的

2.   用mex将头文件和lib库以及dll库用上述方法,   编译可过,   无法链接,   经典的2019问题.
这种情况下的lib库函数接口好像是调用dll中的实现代码(只是通过ultredit打开lib文件猜测的,   查看dll文件的接口发现接口的实现代码在dll中),   lib库的接口函数只是一个call动态链接库dll的过程.  
而用vc建一个dll工程,直接将用于matlab的mex版本code编译成dll库可以通过(这样的dll   matlab不能使用),   mex自己编译则不可以  

是否mex编译不支持这种调用的lib库再调用dll库的编译方法?

[解决办法]
调用的lib库再调用dll库的编译方法!!!!!?????

真的没听过,不可能吧?!
[解决办法]
我来吹吹五月的风
[解决办法]
mark

[解决办法]
导致 LNK2019 的常见问题有:

符号声明包含拼写错误,以致于符号声明与符号定义不同。

使用了一个函数,但其参数的类型或数量与函数定义不匹配。

函数声明使用和函数定义使用中的调用约定(__cdecl、__stdcall 或 __fastcall)不同。

符号定义在编译为 C 程序的文件中,而符号是在 C++ 文件中不带 extern "C " 修饰符声明的。

符号定义为静态,但稍后在文件外部被引用。与 C 不同,在 C++ 中全局常数具有 static 链接。若要避免此限制,可以将 const 初始化包括在头文件中,并将此头包括在 .cpp 文件中,也可以使变量成为非常数,然后使用常数引用访问它。

没有定义静态类成员。

[解决办法]
mark
[解决办法]
up
[解决办法]
jf

热点排行