將原始碼編譯為可跨目錄移植

將原始碼編譯為可跨目錄移植

我正在安裝nginx伺服器,我需要分發它。因此最終用戶可以從任何目錄運行。我的nginx可執行檔是用我在編譯時給出的路徑進行硬編碼的。

如何讓這個便攜?

編輯:

當我對該nginx執行檔進行更改時,它不會啟動,而是拋出錯誤,例如分段錯誤核心已轉儲。請幫忙解決這個問題。

答案1

我想到了四種選擇:-

  1. 對應用程式進行編碼以使用相對目錄,並指定應從資料目錄樹的頭部啟動它。
  2. 指定設定環境變數來定義資料位置($HOME如果您不想定義新的明確變量,可以使用目錄中的相對路徑)。
  3. 使用.app.config/app設定檔來指定位置。
  4. 程式碼具有固定的目錄路徑,並指定在此位置建立符號連結以指向真實位置。

至於您的分段錯誤,似乎您錯過了錯誤檢查(例如確保檔案指標不為空)。

相關內容