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 *)'への未定義の参照は、コンパイラまたはリンカのエラーですか?