c - 如何使用静态库编译 OpenCV 应用程序

标签 c opencv

前言。 我用 C 编写了一个小应用程序,它使用 OpenCV 库播放视频文件。 我的开发机器是 Ubuntu 10.04,但客户的操作系统是 OpenSuse 12.1 我已经使用 cmake-gui 构建了 OpenCV 2.1,并确保所有必需的库都存在(如此处所述 http://www.shiffman.net/2011/01/23/how-to-build-opencv-static-libraries-mac-os-x/ ) 我也使用 cmake-gui 构建了我的应用程序(如此处所述 http://opencv.willowgarage.com/wiki/Getting_started )

问题。 它在我的电脑上运行良好。但是,在客户的机器上出现“加载共享库时出错...”。当我运行“ldd video_player”时,它找不到 libavformat.so.52、libavcodec.so.52 和 libstdc++.so.6。有没有办法将这些库包含在播放器中,以便一切都开箱即用?

结语。我猜有一个简单的解决方案。然而,我在 Java 和 PHP 方面有很强的背景,在 C 语言方面我是个新手,而且截止日期快到了。我尝试使用 ffmpeg 完成这项任务,但它带来了很多噩梦,所以我坚持使用 OpenCV 以使其尽快运行。

提前致谢!

最佳答案

假设它是典型的:

LDFLAGS=-static buildcommand

关于c - 如何使用静态库编译 OpenCV 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141817/

相关文章:

opencv - 在 OpenCV 中使用 FindExtrinsicCameraParams2

c - gcc c 编译错误

c - 从指向嵌套结构的指针访问元素

c++ - 从 haskell 调用 C opencv 函数

visual-c++ - SVM训练以推断视频中相对于其他两个点的位置

python - 使用 Aruco 标记获取相机位置和旋转

c - 如何将 regexec 与内存映射文件一起使用?

c - _acrt_AppPolicyGetProcessTerminationMethodInternal 中的 popen 和 fgets 死锁

c - 删除字母之间的制表符和空格 - 段错误

opencv - 计算距离(视差)OpenCV