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

如何使用静态库编译OpenCV应用程序,c,opencv,C,Opencv,前言。 我用C编写了一个小应用程序,用OpenCV库播放视频文件。 我的开发机器是Ubuntu 10.04,但客户的操作系统是OpenSuse 12.1 我使用cmake gui构建了OpenCV 2.1,并确保所有必需的库都存在(如本文所述) 我也使用cmake gui构建了我的应用程序(如下所述) 问题。 它在我的电脑上运行得很好。但是,在客户的机器上,我得到“加载共享库时出错…”。当我运行“ldd video_player”时,它找不到libavformat.so.52、libavcode

前言。 我用C编写了一个小应用程序,用OpenCV库播放视频文件。 我的开发机器是Ubuntu 10.04,但客户的操作系统是OpenSuse 12.1 我使用cmake gui构建了OpenCV 2.1,并确保所有必需的库都存在(如本文所述) 我也使用cmake gui构建了我的应用程序(如下所述)

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

结语。我猜有一个简单的解决办法。然而,由于我有很强的Java和PHP背景,我对C完全是一个新手,最后期限很快就要到了。我试图用ffmpeg完成这项任务,但它让我做了很多噩梦,所以我坚持使用OpenCV使它尽快工作

提前谢谢

假设它是典型的:

LDFLAGS=-static buildcommand