编译源代码以跨目录移植

编译源代码以跨目录移植

我正在安装nginx服务器,我需要分发它。因此最终用户可以从任何目录运行。我的nginx可执行文件使用我在编译时提供的路径进行硬编码。

如何使其便携?

编辑:

当我对该nginx可执行文件进行更改时,它没有启动,而是抛出了如下错误分段错误核心转储。请帮忙解决这个问题。

答案1

我想到四个选择:-

  1. 对应用程序进行编码以使用相对目录,并指定它应从数据目录树的头部启动。
  2. 指定设置环境变量来定义数据位置($HOME如果不想定义新的显式变量,则可以使用目录中的相对路径)。
  3. 使用.app.config/app配置文件来指定位置。
  4. 具有固定目录路径的代码,并指定在此位置创建的符号链接指向真实位置。

至于您的分段错误,似乎您错过了错误检查(例如确保文件指针不为空)。

相关内容