我有以下问题: 我的代码依赖于两个外部程序包
如果我编写以下代码:
#include "sofa.h"
#include "Eigen/Dense"
我收到以下错误消息:
/some_path/sofam.h:85:18: error: expected unqualified-id before numeric constant #define DAYSEC ( 86400.0 ) ...
以及更多错误行。
但是,如果我更改了include的顺序,它将编译:
#include "Eigen/Dense"
#include "sofa.h"
工作正常。
是什么原因引起的?
我的主要问题是我不知道如何称呼此行为,因此我无法真正有效地对其进行搜索。 不能更改EIGEN或IAU SOFA的任何源代码(因为它们是由其他小组维护的,我们会定期从其网页上对其进行更新)
也不能选择只修复一次,再也不要触摸它。头文件的顺序会自动重新排列为字母顺序,这在每次进行任何更改时都会弄乱所有内容,并且我们定期使用optimize imports
算法,该算法也会自动更改包含内容。