确保在重新编译时处理define

时间:2016-06-02 14:11:49

标签: c++ eigen precompile

我正在使用Eigen开发一个c ++项目。 最近我使用这里描述的推荐方法为Eigen MatrixBase添加了一个函数:

https://eigen.tuxfamily.org/dox/TopicCustomizingEigen.html

此网页介绍了如何在名为MatrixBaseAddons.h的新文件中添加新的特征函数。然后它要求定义EIGEN_MATRIXBASE_PLUGIN

  

然后可以在config.h或其项目的任何先决条件头文件中添加以下声明:

     

#define EIGEN_MATRIXBASE_PLUGIN" MatrixBaseAddons.h"

这是困扰我的部分......我没有创建我正在进行的项目,并且是CMake的新手。我在项目中没有看到config.h文件,也不知道在上面添加定义的位置,以确保始终定义EIGEN_MATRIXBASE_PLUGIN。

在使用CMake的c ++项目中,我们如何查看/更改文件编译的顺序?我应该把这一行放在哪里

#define EIGEN_MATRIXBASE_PLUGIN "MatrixBaseAddons.h"

确保始终定义它?

1 个答案:

答案 0 :(得分:1)

尝试在CMakeLists中添加以下行:

add_definitions(-DEIGEN_MATRIXBASE_PLUGIN="MatrixBaseAddons.h")

这会将您的定义添加到编译器命令行。 CMake add_definitions page

中的更多信息