从emxArray_uint8_T检测到错误:.text+0xc1):未定义对"emxInit_uint8_T1(emxArray_uint8_T**, int)"的引用?
Error detected from emxArray_uint8_T: .text+0xc1): undefined reference to `emxInit_uint8_T1(emxArray_uint8_T**, int)'?
>我写了一个matlab函数来计算灰度图像的熵:"score=score_entropy(image(",然后使用matlab编码器将其转换为C ++
C++ 代码:
#include "mex.h" #include "math.h" #include "score_entropy.cpp" #include"score_entropy_emxAPI.cpp" class image { public: unsigned char *im; int h1,w1; voide scoreimage(); } void image::scoreimage( ) { emxArray_uint8_T* I=emxCreateWrapper_uint8_T(im,h1,w1); double ent=score_entropy(I); emxDestroyArray_uint8_T(I); } void mexFunction( int nl, mxArray *pl[], int nr, const mxArray *pr[] ) { image.im = ( unsigned char*) mxGetData(pr[0]); image. h1 = (int) imgSize[0]; image. w1 = (int) imgSize[1]; image.scoreimage(); }
score_entropy.cpp的定义: 双score_entropy(常量emxArray_uint8_T *IM(
我发现了一个错误列表:
(.text+0xc1): undefined reference to `emxInit_uint8_T1(emxArray_uint8_T**, int)' (.text+0xfb): undefined reference to `emxEnsureCapacity_uint8_T(emxArray_uint8_T*, int)' (.text+0x16c):undefined reference to `emxInit_uint8_T(emxArray_uint8_T**, int)' .. .. (.rdata$.refptr.rtMinusInf[.refptr.rtMinusInf]+0x0): undefined reference to `rtMinusInf' collect2.exe: error: ld returned 1 exit status
任何人都可以帮助更正此代码?
编译所有生成的 CPP 文件并将其链接在一起,这将解决链接器问题。看起来您只是链接了其中的一些。
此外,请确保在调用生成的入口点之前调用生成的_initialize
函数。
相关文章:
- 从值小于256的uint16到uint8的Endian安全转换
- 你能把一个向量<int64>投射到一个向量<uint8>吗
- SSCANF 进入 uint8 阵列失败
- 着色器将uint8投射到float,并将其重新解释回uint
- 将指针uint8覆盖到指针uint16
- 创建一个包含30亿个uint8元素的向量
- 将 Uint8(浮点AUDIO_F32)转换为int16_t(16 位 PCM)
- UINT8/16 /32/etc 和 INT8/16/32/etc 在 libtiff 中不起作用?
- 错误:无法将'uint8* {aka unsigned int*}'转换为"常量emxArray_uint8_T*"?
- 将具有不同字段的结构转换为 uint8 的数组
- uint32, int16, uint8 .为什么这些常用的数据类型没有进入标准
- 如何将 uint8 列表转换为其相应的有符号值
- 兼容的声明 __attribute__ ((节( ".abc.dfe" ))) 常量易失性 uint8 属性变量 = 0;- 符合MISRA标准
- 如何将UINT8*施放到UINT32
- 如何将元素从 Swift 中的 [UnsafeMutablePointer<UInt8>] 转换为 C++ 中的 UInt8 *
- 从字符串转换为 uint8,反之亦然
- Opencv C++ 声明一个类型为 uint8 的矩阵
- 为什么编译器不断警告我从“int”缩小到“uint8”
- UINT8数组对INT64的质量化失败,但应该起作用
- 为什么对UINT8没有优化