宏log2使用没有args错误与cimg?

时间:2013-01-20 10:08:13

标签: c++ g++ header-files cimg

所以我在this.

之后获得了g ++ for windows

由于我想尝试CImg,我从here.

下载了测试版

我只是将cimg.h复制到g ++的include目录中,并且还编译了一些在编译时无法找到的依赖项。

但是现在当我尝试编译使用像this tutorial.

这样的cimg的东西时

它给了我错误:

\Cimg.h:14485: macro 'log2' used without args

和第14492行相同。

这些行看起来像这样:

CImg<T>& log2() {
  cimg_for(*this,ptrd,T) *ptrd = (T)cimg::log2((double)*ptrd);
  return *this;
}

//! Compute the base-10 logarithm of each pixel value \newinstance.
CImg<Tfloat> get_log2() const {
  return CImg<Tfloat>(*this,false).log2();
}

这实际上是我第一次使用C ++,所以显然我已经对所有头文件的概念感到困惑,所以我可能在那里做错了。或者我也可能犯了一个愚蠢的初学者错误。

1 个答案:

答案 0 :(得分:0)

因为CImg.h之前有一个标题,显然是

#define log2 something

您可以尝试更改包含的顺序,以便此标题在#include“CImg.h”之后执行#define。 看起来错误不是来自CImg。