我现在正在构建一个依赖opencv的某些功能的库,以及我使用opencv的方式是我静态链接它。然而,构建的库是动态的(例如,windows中的dll.dll和linux中的dll.so)。拥有该库后,我在构建一个在Windows环境中使用此动态库(.dll)的演示程序时没有困难。它只是有效。但是,它是在Linux上构建的。这是一个不同的故事。我可以构建那个动态库(dll.so),但是当我在演示程序中调用它时,我有以下错误:
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
。有任何想法吗?感谢。