Я пытаюсь скомпилировать код C++ в ROS индиго, используя catkin_make под Ubuntu 14.04. Я получаю следующее сообщение об ошибке:Ошибка компиляции OpenCV с nonfree/feature2d.hpp
/usr/local/include/opencv2/nonfree/features2d.hpp:73:21: error: ‘vector’ has not been declared
vector<KeyPoint>& keypoints) const;
^
/usr/local/include/opencv2/nonfree/features2d.hpp:73:27: error: expected ‘,’ or ‘...’ before ‘<’ token
vector<KeyPoint>& keypoints) const;
^
/usr/local/include/opencv2/nonfree/features2d.hpp:77:21: error: ‘vector’ has not been declared
vector<KeyPoint>& keypoints,
^
/usr/local/include/opencv2/nonfree/features2d.hpp:77:27: error: expected ‘,’ or ‘...’ before ‘<’ token
vector<KeyPoint>& keypoints,
ли кто-нибудь имеет ключ, что может быть проблема? Обратите внимание, что эта ошибка возникает в feature2d.hpp из OpenCV (так что это не файл, который я сделал). Я уже пытался переустановить OpenCV, а также ROS, но это не исправило ошибку.
Я был бы очень благодарен, если бы кто-нибудь знал, как это решить.
Спасибо,
снег
Edit: Вот CMakeLists.txt:
cmake_minimum_required (VERSION 2.8.3)
project (test)
set (test_VERSION "1.0.0")
find_package(OpenCV REQUIRED)
if (NOT OpenCV_FOUND)
message(FATAL_ERROR "Package OpenCV required, but not found!")
endif(NOT OpenCV_FOUND)
find_package(Eigen3 REQUIRED)
include_directories(
${EIGEN3_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${OpenCV_INCLUDE_DIRS}
)
set (SOURCE
src/test.cpp)
add_library (test ${SOURCE})
set_target_properties (test PROPERTIES
COMPILE_FLAGS "-std=c++11")
target_link_libraries(test ${OpenCV_LIBS} ${EIGEN3_LIBRARY_DIRS})
Являются ли эти 4 строки единственными ошибками, которые вы получаете? Если это так, это проблема связи. Не могли бы вы добавить 'CMakeLists.txt'? – alextoind
Я также попытался скомпилировать еще один код моего с cmake, который работал до этого, и теперь его больше нет ... Думаю, я испортил переменную окружения. Тем не менее, вот снимок из CMakeLists.txt кода, который раньше работал с ошибкой: cmake_minimum_required (версия 2.8.3) проект (тест) набор (test_VERSION "1.3.0") find_package (OpenCV ОБЯЗАТЕЛЬНО) \t \t \t include_directories ( $ {OpenCV_INCLUDE_DIRS} ) target_link_libraries (тест $ {OpenCV_LIBS}) – snow
Это будет более читаемо, если вы отредактируете свое предыдущее сообщение и добавите весь текст 'CMakeLists.txt'. – alextoind