Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C++代码中使用VLFEAT? 我想使用VLFAT LIB中的SVM代码,我的主要项目是C++,VLFATAT库是C。我复制了*.h和*.c文件svm、svmdataset、generic、homkermap、host、random_C++_C_Linux_Vlfeat - Fatal编程技术网

如何从C++代码中使用VLFEAT? 我想使用VLFAT LIB中的SVM代码,我的主要项目是C++,VLFATAT库是C。我复制了*.h和*.c文件svm、svmdataset、generic、homkermap、host、random

如何从C++代码中使用VLFEAT? 我想使用VLFAT LIB中的SVM代码,我的主要项目是C++,VLFATAT库是C。我复制了*.h和*.c文件svm、svmdataset、generic、homkermap、host、random,c++,c,linux,vlfeat,C++,C,Linux,Vlfeat,然后我包括了svm*.h文件,如下所示 但是我有 undefined reference to `vl_svm_new' undefined reference to `vl_svm_train' undefined reference to `vl_svm_get_model' undefined reference to `vl_svm_get_bias' undefined reference to `vl_svm_delete' 我的makefile不是这样的 g++ main.cpp

然后我包括了svm*.h文件,如下所示

但是我有

undefined reference to `vl_svm_new'
undefined reference to `vl_svm_train'
undefined reference to `vl_svm_get_model'
undefined reference to `vl_svm_get_bias'
undefined reference to `vl_svm_delete'
我的makefile不是这样的

g++ main.cpp -o vlfeat-test -IVLROOT -LVLROOT/bin/a64/ -lvl
因为我不使用完整库

链接器似乎找不到*.c libs,如何修复

更新:

即使在我成功构建vlfeat并指向bin和include之后

VLFEAT_DIR   :=/media/vlfeat

            -I$(VLFEAT_DIR)
            -L$(VLFEAT_DIR)/bin/a64/

extern "C"
{
//#include "svm.h"
#include <vl/svm.h>
}

不管您是否使用完整的库,您仍然需要与它链接。@JoachimPileborg*.o文件例如svm.o不是在我构建项目时创建的。
VLFEAT_DIR   :=/media/vlfeat

            -I$(VLFEAT_DIR)
            -L$(VLFEAT_DIR)/bin/a64/

extern "C"
{
//#include "svm.h"
#include <vl/svm.h>
}
-I$(VLFEAT_DIR)
-L$(VLFEAT_DIR)/bin/glnxa64
-lvl