Bem pessoal,
Hoje eu estava tentando efetuar uma compilação do OpenCV versão opencv-1.0.0.tar.gz e tive um problema muito estranho
O erro de ../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression{jcomments on}
Então pesquisando na net no blog do Shubham Gautam http://thoughtshubham.blogspot.com/ e corrigi o problema de versão do OpenCV pois o código vem com um item errado no código.
make all-recursive
make[1]: Entering directory `/usr/local/src/opencv-1.0.0'
Making all in cxcore
make[2]: Entering directory `/usr/local/src/opencv-1.0.0/cxcore'
Making all in src
make[3]: Entering directory `/usr/local/src/opencv-1.0.0/cxcore/src'
if /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I../../cxcore/include -I../.. -DNDEBUG -Wall -fno-rtti -pipe -O3 -g -march=i686 -ffast-math -fomit-frame-pointer -fno-strict-aliasing -MT cxalloc.lo -MD -MP -MF ".deps/cxalloc.Tpo" -c -o cxalloc.lo cxalloc.cpp; \
then mv -f ".deps/cxalloc.Tpo" ".deps/cxalloc.Plo"; else rm -f ".deps/cxalloc.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I../../cxcore/include -I../.. -DNDEBUG -Wall -fno-rtti -pipe -O3 -g -march=i686 -ffast-math -fomit-frame-pointer -fno-strict-aliasing -MT cxalloc.lo -MD -MP -MF .deps/cxalloc.Tpo -c cxalloc.cpp -fPIC -DPIC -o .libs/cxalloc.o
In file included from _cxcore.h:60,
from cxalloc.cpp:42:
../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression
make[3]: *** [cxalloc.lo] Error 1
make[3]: Leaving directory `/usr/local/src/opencv-1.0.0/cxcore/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/opencv-1.0.0/cxcore'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/opencv-1.0.0'
make: *** [all] Error 2
No arquivo cxmisc.h linha 133 vocês poderá notar que existe um codigo "#elif" e ele está errado
então conforme diz no blog do Gautam, só remover pelo parametro certo
Então ficaria desta maneira
#elif defined HAVE_ALLOCA
#include
-#elif
+#else
#error
#endif


