2012-04-14 3 views
0

안드로이드 OpenCV의에 ml.h 가져올 수 없습니다, 나는 다음과 같은 오류가 나는 "ml.h"를 ​​포함 할 때 나는 NDK 빌드를 실행할 때 냈다 얻을 :내가 C 인터페이스를 사용하고 2.3

In file included from /Users/user/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_algobase.h:61, 
      from /Users/user/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:62, 
      from /Users/user/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/map:60, 
      from /Users/user/android-opencv/OpenCV-2.3.1/share/OpenCV/../../include/opencv2/ml/ml.hpp:2022, 
      from /Users/user/android-opencv/OpenCV-2.3.1/share/OpenCV/../../include/opencv/ml.h:46, 
      from /Users/user/CarSafe/jni/blink_detection.c:7: 
/Users/user/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/cstddef:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token 

"ml.h"의 include를 주석 처리하면 정상적으로 컴파일되고 정상적으로 실행됩니다.

문제는 내 C 코드에서 opencv svm 라이브러리를 사용하고 싶습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 아니면 그냥 C++ 코드로 컴파일하고 C++ 내에서 ml.hpp 헤더를 사용해야합니다. 이것은 프로젝트의 다른 코드에서도 작동합니다. 신중 출력의 마지막 줄에서

답변

0

봐 : 당신은 C++ 표준 라이브러리를 사용하여 코드를 컴파일하는 C 컴파일러를 사용하려고 나타납니다 당신이 당신의 질문에 썼다을 바탕으로

/Users/user/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/cstddef:51: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token 

.

또한 OpenCV에 익숙하지 않지만 C++로 코드를 컴파일하고 "ml.h"를 ​​포함 할 수 있어야한다고 생각합니다. C++ 헤더는 * .hpp 확장자를 항상 사용하지는 않습니다.