gpt4 book ai didi

c++ - Eigen 和 CImg 兼容性问题

转载 作者:搜寻专家 更新时间:2023-10-31 01:05:34 25 4
gpt4 key购买 nike

因此,我尝试使用 CImg 记录和显示图像,但我也在使用称为 Eigen 的线性代数库。巧合的是,他们每个人似乎都有一个同名的宏,“成功”。我尝试过执行#undef,但效果不佳。因此,每当我尝试编译时,都会收到此错误,即“成功”在不同的文件中定义了两次。我应该如何在不丢失任何宏的情况下消除此错误?非常感谢您的帮助!

最佳答案

问题的出现是因为 CImg 包含 X11 header X.h,其中定义了一个名为“Success”的宏。该宏与 Eigen 中的 ComputationInfo 枚举定义冲突,因为它有一个名为“Success”的枚举值。

作为变通方法,您可以在包含 CImg 之后和包含 Eigen 之前取消定义“Success”:

#include <CImg/CImg.h>
#ifdef Success
#undef Success
#endif
#include <eigen3/Eigen/Eigen>

另请参阅关于 Eigen 错误跟踪器的问题 #253:http://eigen.tuxfamily.org/bz/show_bug.cgi?id=253

关于c++ - Eigen 和 CImg 兼容性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22400905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com