2013-09-25 20 views
2

我想從一個相對路徑添加一個圖標到Visual Studio 2010中生成的可執行文件,因爲該項目旨在在多臺機器上分發和編譯,但我可以讓它工作。這些是我執行的步驟:在資源如何添加一個圖標到VS項目的相對路徑

  1. 右擊 - >添加資源 - >圖標 - >導入
  2. 然後導入我的圖標是向上的兩個目錄從我的項目../ .. /images/icon.ico
  3. 然後我編譯並獲取exe文件上的圖標,但是如果我用文本編輯器打開自動生成的.rc文件,圖標的路徑是硬編碼的,如果我將項目移動到另一臺具有不同文件結構的計算機不能編譯。

有沒有辦法用相對路徑設置圖標?或者使.rc文件與相對路徑一起工作?

+0

當然,您需要將圖標更改爲編譯資源? –

回答

3

是的,如果資源位於項目目錄或目錄的子目錄中,則資源編輯器將僅生成相對路徑。你可以自己編輯.rc文件。右鍵單擊解決方案資源管理器窗口中的.rc文件,打開方式,選擇源代碼編輯器並編輯ICON語句。

請注意您這樣做會導致未來頭痛。這不會在其他機器上出現問題,遲早也會在機器上出現問題。當您在不同的目錄中籤出項目或圖像文件夾剛剛消失時。資源編輯器生成的絕對路徑解決了第一次事故。當然不是第二個。始終傾向於將資源文件複製到項目目錄,以便您可以輕鬆地將其檢入到源代碼管理中,並且不會丟失該文件。

+0

我複製了項目文件夾中的圖標。謝謝! – RegedUser00x

2

爲避免此問題,我們的項目共享相同的磁盤分區 - 專用磁盤分區 - 然後您可以輸入絕對路徑,但不需要輸入驅動器盤符,如\path\to\my\icon.ico

除了在rc.exe工作,這也適用於IDE。

這些都是專用的磁盤分區+絕對文件符號的優勢:

  • ,以維持軀幹,穩定和樹枝分開,不破壞資源編譯器
  • 如果你有很多的創造儘可能多的分區靜態庫分佈在您的項目分區上,需要#include庫相對.rc文件生成靜態鏈接.exe您可以將#include <\path\to\your\static\library\resource.rc>添加到您的文件中編譯時間指令框。這也將與rc.exe工具一起使用。
相關問題