我已经在 Linux 中实现了一个共享库并尝试对其进行测试,但我收到一个错误“未定义对 `CEDD(char*)' 的引用”。
我使用具有以下参数的 Eclipse:
- 包含文件的路径(这里一切正常)
- 库的路径及其名称。路径正确,名称为WISE_C(全名:libWISE_C.so)
我的代码:
我用于测试的测试程序:
#include <iostream>
#include <Descriptor.h>
int main() {
char* path = "/export/home/pdmazubi3/workspace/proj1/src/pic.jpg";
double * cedd = CEDD(path); ///// <-ERROR!
std::cout << "!!!Hello World!!!" << cedd[1];
return 0;
}
头描述符.h:
double* CEDD(char* path);
具有所需功能的 Descriptor.c 的一部分:
#include "Descriptor.h"
#include "highgui.h"
#include "cv.h"
double* CEDD(char* path)
{
IplImage* srcImg;
IplImage* ImageGrid;
...
}
我在做什么?我在互联网上阅读了很多文章,但我没有找到解决方案。
对“CEDD(char*)”的未定义引用是编译器或链接器错误?