目前正在研究是否可以在嵌入式环境中使用组合 Eigen/Ceres 解算器。 我们将 x 编译为运行 ThreadX RTOS 的 STM32 ARM 架构,并使用 IAR 工具链构建二进制文件。
但是 ThreadX 带来了自己的线程模型,包括互斥体等。 没有
std::mutex
,仅包含标头 <thread>
就会停止构建。
所以除非我能以非多线程的方式构建 Ceres,否则我认为这个项目已经泡汤了。 我查看了 Ceres 的配置方式,没有一个选项跳出来。
事实证明 - 就我而言 - 只需使用 Ceres 的 tiny_solver.h 即可满足我所需的一切,因此将我们对 Ceres 库的要求呈现为非线程、仅标头的库。