2011-03-30 132 views
1

我已经写在OpenCV的一个简单的应用程序,并使用以下命令编译它:OpenCV的64位静态链接

g++ -I ./include/opencv -Wall -o imageHash imageHash.h imageHash.cpp -lcv -lhighgui 

我试图接下来要做的,是这样的:

  • 使用静态链接,所以可以在不追求的目标机器

  • 上安装OpenCV编译该应用一个CPU独立形式的需要运行该应用程序,所以可在32位和64b中运行该它也是机器。

如何修改编译命令以实现以下目标? 谢谢, krisy

回答

1

如果您希望它在32位和64位系统上独立运行,请在32位模式下编译。至于静态链接,理论上这样做的方法是当你用cmake构建时,在构建选项卡下取消选中BUILD_SHARED_LIBS。我面临的问题是,这似乎不起作用,所以现在你可能会被卡在动态链接中。要覆盖其他系统上的安装,只需将DLL放在与exe相同的目录中即可。

+0

只有32位版本可能无法在Linux上使用,就像在Windows上一样。 – 2012-11-28 14:50:35