2014-02-27 61 views
0

我現在正在建立一個依賴於opencv的一些函數的庫,我如何使用opencv的方式是靜態鏈接它。但是,構建的庫是動態的(例如,windows中的dll.dll和Linux中的dll.so)。擁有這個庫之後,我毫不費力地構建一個在Windows環境中使用這個動態庫(.dll)的演示程序。它只是工作。但是,它是在Linux上構建的。這是一個不同的故事。我可以建立一個動態庫(dll.so),但是當我在演示程序調用它,我有以下錯誤:opencv未定義的參考錯誤,只發生在linux中

dll.so||undefined reference to `cv::mulSpectrums(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int, bool)'| 

dll.so||undefined reference to `cv::getOptimalDFTSize(int)'| 

dll.so.so||undefined reference to `cv::dft(cv::_InputArray const&, cv::_OutputArray const&, int, int)'|||=== Build finished: 3 errors, 0 warnings (0 minutes, 4 seconds) ===| 

我不知道我能在這種情況下做的。實際上,當我構建動態庫dll.so時,我沒有撥打cv::mulSpectrums, cv::getOptimalDFTSize and cv::dft。有任何想法嗎?謝謝。

回答