我想创建一个在服务器上运行的使用 OpenCV 的 c++ 应用程序。为此,我需要在我的服务器上编译 c++ 应用程序。但是,我怎样才能在服务器上获取我的 OpenCV 库(和其他库)?还是有另一种方法可以让我的 C++ 应用程序在我的服务器上运行?即在我自己的计算机上而不是在服务器上编译。
我希望你能帮帮我!谢谢!
如果服务器是相同的架构(例如,都是 intel x86 32 位或都是 PowerPC),您应该能够在自己的机器上编译并在服务器上运行它。
此外,正如下面 jlengrand 所指出的,您可以为您的计算机设置几乎任何目标架构的交叉编译器。这基本上可以让你输入一个单行命令来设置你的编译环境,然后当你调用 g++ 或你正在使用的任何东西时,它将为交叉编译器的架构构建。
我对 OpenCV 了解不多,但只要您将其设置为“静态链接”这些库,那么它们就应该是您生成的可执行文件的一部分。因此,可执行文件将包含所有库,并且可以在具有您计算机体系结构的任何计算机上运行。
注意动态链接,因为这意味着当您运行可执行文件时,库本身必须存在并且可以在服务器上定位(动态链接意味着共享库,它们不是可执行文件的一部分,必须单独提供。虽然动态链接确实更好,因为可以共享和更新内容,但部署起来更复杂)。