Так что я получил себе 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 ++, поэтому, очевидно, я уже смущен концепцией всех заголовочных файлов и тому подобного, так что я мог бы сделать что-то не так. Или я могу также сделать глупую ошибку новичка.
Поскольку перед CImg.h включен один заголовок, который
#define log2 something
Вы можете попытаться изменить порядок включений, чтобы этот заголовок выполнял #define после #include «CImg.h».
Похоже, что ошибка не из CImg.
Других решений пока нет …