Макрос log2 используется без args ошибка с cimg?

Так что я получил себе g ++ для Windows, следующие этот.

Поскольку я хотел поэкспериментировать с CImg, я скачал бета-версию с Вот.

Я просто скопировал cimg.h в каталог include 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 ++, поэтому, очевидно, я уже смущен концепцией всех заголовочных файлов и тому подобного, так что я мог бы сделать что-то не так. Или я могу также сделать глупую ошибку новичка.

0

Решение

Поскольку перед CImg.h включен один заголовок, который

#define log2 something

Вы можете попытаться изменить порядок включений, чтобы этот заголовок выполнял #define после #include «CImg.h».
Похоже, что ошибка не из CImg.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]