首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发和部署Linux应用程序的基础

开发和部署Linux应用程序的基础
EN

Stack Overflow用户
提问于 2013-08-29 07:47:51
回答 1查看 854关注 0票数 0

我正在构建一个在Linux系统上运行的应用程序。目前,构建过程包含一个简单的Makefile,它已经太复杂了。

现在,我想我缺少一些关于如何正确开发Linux应用程序的基本理解。我发现的信息是:

  • 应用程序应该有一个make install目标,将所有文件移动到正确的位置。
  • 通常安装应用程序的地方是/usr/bin/usr/local/bin
  • 数据文件应分别放在/usr/share/usr/local/share中。应该能够在构建过程中的某个地方配置路径前缀。

有了这些信息,我现在想知道:

  • 如何正确配置前缀:构建过程是否应该将路径作为参数并将其硬编码到代码中?这对于测试也很重要--我应该可以创建一个可运行的二进制文件,它只使用源文件夹中的数据文件,而不需要在某个地方安装所有的东西。
  • 我应该使用自动工具还是cmake之类的?autotools至少看起来不仅是一个构建系统,而且还处理前缀配置等等。这是正确的吗?cmake比较怎么样?
  • 这是合同工作,我真的应该关心这些事情吗?应用程序将只在定义良好的客户系统上运行,因此我可以提供一个包含所有必要文件的文件夹,并且应用程序可以在该文件夹中执行。

因此,我基本上是在寻找一些好的资源,这些资源为我提供了关于各种可能性和常见实践的概述,并使我能够就是否以及如何调整构建和部署过程做出明智的决定。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-29 07:56:48

在创建之前,通常有一个./配置脚本要运行。此脚本用于检查受抚养人。设置编译时间,切换到项目特定的更改,等等。这也是设置前缀的地方,如果没有前缀,通常应该安装到/usr/local。

如果您稍后在创建包(*.rpm,*.deb .)对于某些发行版,通常使用/usr/作为前缀。

由于手工编写一个完整的./配置是疯狂的,所以被广泛使用。刚开始的时候,他们有点臃肿,有些痛苦,但是做得很好。

您可以看看一些教程,如:http://markuskimius.wikidot.com/programming:tut:autotools/

我对cmake一无所知,因为我对此没有经验。

关于你的最后一个问题:

这是合同工作,我真的应该关心这些事情吗?应用程序将只在定义良好的客户系统上运行,因此我可以提供一个包含所有必要文件的文件夹,并且应用程序可以在该文件夹中执行。

是的你应该关心这个。在更新和升级的情况下,这将简化您的生活。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18505078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档