MATLAB中mexC++代码,.a静态链接库的用法
来源:互联网 发布:谱聚类 ncut算法那 编辑:程序博客网 时间:2024/05/29 16:59
前两天在GitHub上找到一个MATLAB项目,想在电脑上跑一跑,结果发现运行时总是发现报错:“Undefined function or variable 'faac_wrapper'.”,后来发现这个函数是用C++写的,然后就去查MATLAB里面怎么用C++代码,然后用编译C++代码的时候,又报错发现很奇怪的错误,显示有很多函数没有定义,然后去看头文件,发现这些函数在头文件中都有声明,编译的时候找不到函数定义。仔细看了文件夹的文件,发现有一个后缀名是.a的文件上网查到,这是Linux的静态链接库文件,显然要在Linux上面装MATLAB,费了半天劲装好(过程不说了,网上都有)。然后继续mex我的cpp文件:mex faac_wrapper.cpp -I/mnt/hgfs/Linux_Share/matlab/faac_mex/libs -L/mnt/hgfs/Linux_Share/matlab/faac_mex -llibfaac,发现还是连接不上,在MATLAB的help上看了也没发现是哪里不对,但我感觉肯定是连接静态链接库的时候出问题了,这个时候我就瞎试,最后发现是静态库文件名的写法上有问题,我的静态链接库的名字是libfaac.a,其实静态链接库的命名规则是lib+libname.a,那个libname是你可以自己命名的,所以在连接的时候只需要写-lfaac就可以了,lib和.a都不用加,前面-l后面的路径是静态库的头文件所在的路径,后面-L后面的路径是你的静态链接库的路径,然后mex成功之后生成.mexa64文件,你就可以在m文件里面使用这个函数了。
1 0
- MATLAB中mexC++代码,.a静态链接库的用法
- eclipse中静态链接库的 链接
- java中静态代码块的用法
- java中静态代码块的用法
- java中静态代码块的用法
- java中静态代码快的用法
- java中静态代码块的用法
- Java中静态代码块的用法
- 静态链接库和动态链接库的用法
- Make.am中生成.la动态库的同时要链接.a静态库的问题
- Make.am中生成.la动态库的同时要链接.a静态库的问题
- 在eclipse中加入.a静态链接库及动态库的方法
- 在eclipse中加入.a静态链接库及动态库的方法
- 在eclipse中加入.a静态链接库及动态库的方法
- VC中使用静态链接库 之 /MD /MT 用法
- java中静态代码块的用法 static用法详解
- java中静态代码块的用法 static用法详解
- java中静态代码块的用法 static用法详解
- Android安全开发之安全使用HTTPS
- RPM包一步步制作
- linux入门学习方法
- ArrayList 赋值的问题
- Sql server还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”
- MATLAB中mexC++代码,.a静态链接库的用法
- UITextField
- 判断Activity,Service是否正在运行
- C语言的那些小秘密之volatile
- C语言中char*和char[]用法区别分析
- 启动tomcat时,双击startup.bat闪退的问题
- 使用CodeSmith连接SQLite生成代码
- 中小企业服务器ssh管理
- 分库分表的几种常见形式以及可能遇到的难题