0

所以我在这之后得到了自己的 g++ for windows

因为我想尝试 CImg,所以我从这里下载了测试版。

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

但是现在当我尝试编译像本教程一样使用 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++,所以显然我已经对所有头文件等的概念感到困惑,所以我可能在那里做错了什么。或者我也可能犯了一个愚蠢的初学者错误。

4

1 回答 1

0

因为在 CImg.h 之前包含一个头文件,它显然做了一个

#define log2 something

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

于 2013-01-24T18:04:01.547 回答