【发布时间】:2009-06-12 11:39:11
【问题描述】:
我在 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*)”的未定义引用是编译器或链接器错误?
【问题讨论】:
标签: c++ linux linker shared-libraries