2017-12-16 17 views
-2

への未定義参照私はOpenCVのプロジェクトを持っていると私はちょうど今日の私のコードを再構築しようとするまで、すべてが今のところうまく働いた:私は、次のエラーを得た:OpenCVの - カルマンフィルター

undefined reference to `cv::KalmanFilter::KalmanFilter(int, int, int, int)' 

undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)' 

undefined reference to `cv::waitKey(int)' 

私はなぜこのエラーを確認していません私はそれがsudo apt-get autoremoveまたはsudo apt-get upgradeを実行したという事実と何らかの形で結びついていると推測することしかできませんでした。私が前にやった唯一の事はarduinoをインストールすることでした。

私はいつも今日までコンパイルすることができたので、なぜこのエラーが出るのか分かりません。

カルマンフィルタのopencvインクルードが変更されている可能性はありますか?私のCMakeLists.txtで

#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/core/core.hpp> 
#include <opencv2/video/video.hpp> //for kalman filter 
//Include headers for OpenCV GUI handling 
#include <opencv2/highgui/highgui.hpp> 

add_compile_options(-std=c++11) 

find_package(catkin REQUIRED COMPONENTS 
    cv_bridge 
) 

include_directories(
    ${OpenCV_INCLUDE_DIRS} 
    ${OpenCV_LIB_COMPONENTS} 
    ${OpenCV_LIBRARIES} 

私はOpenCVの3.3.1実行している。ここ含ん私のスニップです。

+4

[定義されていない参照/未解決の外部シンボルエラーとは何ですか?どうすれば修正できますか?](https://stackoverflow.com/questions/12573816/what-is-an -UNDEFined-reference-unresolved-external-symbol-error-and-do-do-i-fix) –

答えて

0

ソリューションを見つけました:

opencv_libsとリンクする必要がありました。私のCMakeLists.txtで

は、私が追加:

target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBS}) 
target_link_libraries(example_node ${PROJECT_NAME}) 

私は私のコードは、前に働いていたが、今働いて停止した理由を確認していません。とにかくもう一度コンパイルします:)