【发布时间】:2010-12-27 11:48:14
【问题描述】:
我使用 c++ 在 netbeans 中开发了一个小程序。我需要知道如何在另一个 linux 系统上部署/运行包
阿卜杜勒·哈利克
【问题讨论】:
-
是否有依赖(库)?
-
是的项目成功编译运行在NB
标签: deployment netbeans ubuntu g++ packaging
我使用 c++ 在 netbeans 中开发了一个小程序。我需要知道如何在另一个 linux 系统上部署/运行包
阿卜杜勒·哈利克
【问题讨论】:
标签: deployment netbeans ubuntu g++ packaging
我看过你的代码,你可能在当前文件夹中丢失了 XML 文件...可执行文件所在的位置...粘贴然后运行为 ./your-executable
【讨论】:
我建议您使用makefile 在您的目标机器上重新编译,这将确保您的程序部署正确。
【讨论】:
您应该按照建议使用生成文件。我知道 NetBeans 可以生成一个,但距离我上次这样做已经有一段时间了。也许这会有所帮助:http://forums.netbeans.org/topic3071.html
【讨论】:
通常,一旦编译,您的可执行文件将需要几个库。很有可能这些库也将在目标 linux 系统上可用。
因此,您可以简单地将可执行文件复制到其他系统。如果您在可执行文件上运行 ldd,您应该会看到可执行文件动态加载的库列表。这些库也应该在目标系统上可用。
如果您的可执行文件使用图像和其他二进制文件等资源,您可以使用资源系统(例如 Qt 资源系统)并将这些二进制文件编译到您的可执行文件中。
最简单的测试方法是复制,运行
ldd yourExecutable
在目标系统上。它会告诉您是否缺少任何库。使用系统包管理器安装这些库。
当然,您还可以选择将所有库静态构建到可执行文件中。但是,不建议这样做,因为它会使可执行文件太大并使事情复杂化。
【讨论】:
您的 netbeans 编译器正在创建什么类型的包?德布,转?如果要将包移动到不同的 linux 安装,则需要使用该发行版包类型。 Ubuntu-deb Fedora/Redhat - rpm ETC... 我不确定你如何在 netbeans 中改变它,但我很确定它有能力。谷歌搜索可以为您提供更多帮助。
【讨论】: