我编译我的我的OpenCV的程序如下:
g++ `pkg-config --cflags opencv --libs opencv` <filename>.cpp
它完美的作品在我的电脑上。 我一个人也请编译共享库与程序,以便它可以在其上可是没有它OpenCV的其他计算机上运行? 如果是这样,我怎么办呢?
我编译我的我的OpenCV的程序如下:
g++ `pkg-config --cflags opencv --libs opencv` <filename>.cpp
它完美的作品在我的电脑上。 我一个人也请编译共享库与程序,以便它可以在其上可是没有它OpenCV的其他计算机上运行? 如果是这样,我怎么办呢?
编译过程中的程序动态链接到共享库(.so文件)我们的计算机上。 可执行文件编译使用过程中运行时,这些共享库。 但是,这些共享库可能不存在在其他计算机上,因此可能无法运行可执行文件。
解决这将是静态链接归档库(.a文件),而不是动态链接共享库。 OpenCV的不分发归档库本身。 因此,人们必须从使用它的源代码编译归档库cmake -DBUILD_SHARED_LIBS=OFF
。 这个档案库可用于创建独立的可执行文件。
是在一定程度上:查找静态链接 。 你OpenCV的副本必须的库。一个版本(不只是。所以你提到),而且也是其他任何依赖性如此。
第您需要使用静态库。