c++ - 在 lshkit 中构建 mplsh-run 的问题

标签 c++ open-source include linker gsl

已经尝试了很长一段时间,但是 我仍然无法从 lshkit 构建 mplsh-run

不确定这是否有助于解释我在 build 过程

 /tmp/cc17kth4.o: In function `lshkit::MultiProbeLshRecallTable::reset(lshkit::MultiProbeLshModel, unsigned int, double, double)':
mplsh-run.cpp:(.text._ZN6lshkit24MultiProbeLshRecallTable5resetENS_18MultiProbeLshModelEjdd[lshkit::MultiProbeLshRecallTable::reset(lshkit::MultiProbeLshModel, unsigned int, double, double)]+0x230): undefined reference to `lshkit::MultiProbeLshModel::recall(double) const'
/tmp/cc17kth4.o: In function `void lshkit::MultiProbeLshIndex<unsigned int>::query_recall<lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> > >(float const*, float, lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> >&) const':
mplsh-run.cpp:(.text._ZNK6lshkit18MultiProbeLshIndexIjE12query_recallINS_11TopkScannerINS_6MatrixIfE8AccessorENS_6metric5l2sqrIfEEEEEEvPKffRT_[void lshkit::MultiProbeLshIndex<unsigned int>::query_recall<lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> > >(float const*, float, lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> >&) const]+0x2c4): undefined reference to `lshkit::MultiProbeLsh::genProbeSequence(float const*, std::vector<unsigned int, std::allocator<unsigned int> >&, unsigned int) const'
/tmp/cc17kth4.o: In function `void lshkit::MultiProbeLshIndex<unsigned int>::query<lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> > >(float const*, unsigned int, lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> >&)':
mplsh-run.cpp:(.text._ZN6lshkit18MultiProbeLshIndexIjE5queryINS_11TopkScannerINS_6MatrixIfE8AccessorENS_6metric5l2sqrIfEEEEEEvPKfjRT_[void lshkit::MultiProbeLshIndex<unsigned int>::query<lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> > >(float const*, unsigned int, lshkit::TopkScanner<lshkit::Matrix<float>::Accessor, lshkit::metric::l2sqr<float> >&)]+0x4a): undefined reference to `lshkit::MultiProbeLsh::genProbeSequence(float const*, std::vector<unsigned int, std::allocator<unsigned int> >&, unsigned int) const'
collect2: ld returned 1 exit status

我用来构建 mplsh-run 的命令是 g++ -I./lshkit/include -L/usr/lib -lm -lgsl -lgslcblas -lboost_program_options-mt mplsh-run.cpp

你们知道我该如何解决这个问题吗?

最佳答案

将 .cpp 文件作为第一个参数。

g++ mplsh-run.cpp -I./lshkit/include -lm -lgsl -lgslcblas -lboost_program_options-mt 

也尝试使用 -lm -lgsl 和 -lgslcblas 的不同排列

关于c++ - 在 lshkit 中构建 mplsh-run 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649122/

相关文章:

c++ - boost 无法使用 apple llvm program_options 进行编译

c++ - 自包含从 std::enable_shared_from_this 继承的自身的 shared_ptr

c# - 适用于 C# 的优秀免费/开源图形库

open-source - 发布使用其他免费库的开源软件时需要做什么?

PHP:我得到一个完全空白的页面,我不知道如何在 PHP 中调试它

c++ - "configure"脚本如何检测我的系统是否支持某些头文件或 cpp 功能?

c++ - 多个错误未定义对方法的引用

c++ - 如何使用 C++ 访问 Java SDK

java - 需要有关设置开源库 JFreeChart 的帮助

javascript - 在 RenderingTemplate 中注册/包含 javascript