如何用Qt调用matlab生成的动态库

如题所述

第1个回答  2016-11-12
先写好实现动态链接库的libmy.cpp文件和libmy.h文件,如下://libmy.cpp#include"libmy.h" #includeusingnamespacestd;MyLib::MyLib() { }MyLib::~MyLib() { } voidMyLib::hello() { coutusingnamespacestd;intmain(intargc,char*argv[]) { MyLib*lib=newMyLib(); //调用刚才编写的动态链接库 lib->hello(); cout>i; return1; }编写main.pro文件,如下:LIBS+=-L./ #设置程序查找动态库的目录为当前目录 #注意:用QT生成的动态库默认都加了lib前缀和扩展名及版本名,但调用时不用加lib,不用加文件#扩展名so、不用加版本名1.0.0.即下面LIBS中的DllTest就是实际的动态库libDllTest.so.1.0.0LIBS+=-lDllTest #注意:调用时不用加lib,不用加文件扩展名so、不用加版本名1.0.0,记得前面加l(字母)TARGET=libMyTest SOURCES+=main.cpp执行qmakemain.pro生成makefile文件,然后执行make,可以看到生成了libMyTest可执行文件。将动态链接库libDllTest.so.1.0.0和可执行文件传到arm板上,如下: 在arm板上执行libMyTest,如下:#chmod+x libMyTest //先赋予可执行权限执行:# ./libMyTest 输出如下: