2011-08-12 45 views
3

我创建了一个使用opencv库的c/C++程序。我想将其转换为桌面应用程序,只需将它安装在任何系统上即可运行。也可以这样做,以便用户安装软件不需要opencv。我的意思是它附带软件打包将c项目转换为桌面应用程序

这是如何完成的,你可以指向一些好的书或教程?我想创建GUI也有什么建议

我想创建Windows和Linux的软件。

+0

这应该发布为至少两个单独的问题:1)如何打包OpenCV? 2)如何创建跨平台的GUI? –

+0

那么,从技术上讲,你不会将C项目转换为桌面应用程序;您使用C来创建桌面应用程序。 –

回答

0

为了避免让用户安装OpenCV,您可以尝试静态链接到它的二进制文件。检查OpenCV文档,它可能有说明。至于C++的便携式GUI,甚至有books,但流行的似乎是wxWidgets

还有一个关于便携式C++ UI工具箱here in SO问题,检查出来

1

对于C++开发我已经很满意Qt发展。加上极好的跨平台支持。你也可以看看wxWidgets

1

您可能想围绕您的软件构建安装程序。在Linux系统中,这通常是通过使用自动工具(autoconfautomake)来构建包然后将该包插入到您的发行版中来完成的,例如,将其debianizing。这个过程有很好的文档。

在Windows下,您需要构建安装程序;我用Inno Setup安装程序编译器取得了很好的经验。

在这两种情况下,都不需要静态链接到OpenCV。但是,您可能会考虑其他海报建议的更简单的替代方法,并且只需在链接器命令行中添加-static即可。取决于你的需求。

1

这是一个非常开放的问题。您可以从桌面运行已编译的C/C++应用程序,因此我认为GUI是您想要添加的。既然你说的是Linux/Windows,你需要将你的UI代码分开,并创建一个单独的Linux前端,或者查看适用于这两个库的库(例如GTK+)。

关于不需要单独安装opencv,确定可以根据该库的许可来完成。检查他们的网页/文档以了解更多信息。他们可能会对如何正确打包它有很好的指导,以及如果需要采取措施来遵守其许可模式会怎样。

如果你想要一本书或教程,你可能需要从你的图书馆开始,因为你所提出的问题的范围可能不会在一本书中涵盖。其实,研究一下可能会帮助你更好地定义你想要做的事情。

相关问题