我最近在配置ceres的库,通过网上查找资料,对其依赖库都完成了cmake配置,并成功编译。ceres本身也通过cmake成功生成工程,但是在编译工程时出现错误:
有多个 重载函数 "ceres::internal::ParallelFor" 实例与参数列表匹配
网上查了很多都没找到相似问题,不知道哪位大咖知道原因所在。
源代码中 对ceres::internal::ParallelFor的定义如下:
void ParallelFor(ContextImpl* context,
int start,
int end,
int num_threads,
const std::function<void(int)>& function);
// Execute the function for every element in the range [start, end) with at most
// num_threads. It will execute all the work on the calling thread if
// num_threads is 1. Each invocation of function() will be passed a thread_id
// in [0, num_threads) that is guaranteed to be distinct from the value passed
// to any concurrent execution of function().
void ParallelFor(ContextImpl* context,
int start,
int end,
int num_threads,
const std::function<void(int thread_id, int i)>& function);