Matlab c++集成,libting是什么?



我写了一些c++代码,我想在以下方法中与matlab集成https://www.mathworks.com/help/matlab/matlab_external/publish-interface-to-shared-c-library-on-linux.html

  1. 第一步:在Linux上生成接口。
  2. 第二步:定义缺失的结构是没有必要的,我的例子是如此简单,它可以自动完成
  3. Build Interface是我得到问题的地方。

这是我的matlab代码:

clc;
clibgen.generateLibraryDefinition(fullfile("testing.h"),...
"Libraries", fullfile("testing.so"),... 
"PackageName", "integrationTest",...
"ReturnCArrays",false,... % treat output as MATLAB arrays
"Verbose",true)
defineintegrationTest;
summary(defineintegrationTest)
build(defineintegrationTest)

最后一行build(defineintegrationTest)抛出错误。以下是完整的输出:

使用c++编译器。生成的定义文件defineintegrationTest。和数据文件"integrationTestData.xml"包含MATLAB支持的1个构造的定义。建立使用构建(defineintegrationTest) .

MATLAB接口integrationTest图书馆

Functions int32 clib.integrationTest.addingNumbers(int32,int32)

构建接口文件'integrationTestInterface.so'。错误使用clibgen.internal.buildHelper(第62行)构建失败,错误:/usr/bin/ld: cannot find -lting collect2: error: ld returned 1 exit状态"。

clibgen错误。LibraryDefinition/build(第1297行)clibgen.internal.buildHelper (obj obj。

图书馆接口,",directBuild);myIntegrationTest错误(第11行)build(defineintegrationTest)

错误的主要部分似乎是无法找到- lcollect2: error: ld返回1退出状态的部分。我做了测试。因此使用以下行:

g++ - 0测试。p

g++ -shared -o测试。所以testing.o

我的测试示例非常简单。这是cpp文件。

#include "testing.h"
int addingNumbers(int a, int b){
return a + b;
}

这是头文件

#ifndef TESTING_   /* Include guard */
#define TESTING_
int addingNumbers(int a, int b);
#endif

我也试图使用g++共享库和意义旗,并得到了同样的错误。

g++ -shared -o测试。所以测试。o和意义

有谁知道这个库是什么或者我可以在哪里安装它吗?我已经得到了谷歌结果,实际上返回0结果,同时寻找有关-lting或libting或matlab ting的事情。

结果是,您应该使用。so文件库的前三个字母。所以我改变了测试。所以说libtesting。所以我重复了同样的步骤,它成功了。谢谢你的帮助,Cris Luengo,他回答了这个问题。

相关内容

  • 没有找到相关文章

最新更新