2015-10-20 106 views
0

我已經使用了@ jeff_t的解決方案,作爲here,但是我遇到了幾個問題。將C++資源添加到靜態庫(Visual Studio)

我有擁有的資源文件,並設置爲一個外部文件lib下,文件名是

Other Files\myfile.exe 

快速查看到RC文件揭示了以下行:

IDR_RES RES      "Other Files\\myfile.exe" 

現在,我設置了一個與LIB相同的目錄級別的DLL項目,幷包含了resource.h(只讀符號指令#include「../LIBProj/resource.h」)和LIB.rc(個編譯時指令的#include「../LibProj/LibProj.rc」

編譯LIB順利,但是,當我嘗試編譯DLL,哪個環節對LIB,會導致以下錯誤:

../LibProj/LibProj.rc(52): error RC2135: file not found: Other Files\myfile.exe 

我明白,一旦鏈接器試圖從DLL項目中訪問額外的包含,它會超出範圍,如何解決它?

編輯:,如果我給的絕對路徑如下: IDR_GNRC_RES_AGENT_DATA RES "C:\\Develop\\Code\\LibProb\\Other Files\\myfile.exe

它工作得很好

回答

0

多小時絕望的嘗試後,我意識到解決方案是非常簡單 我服了。使用以下路徑:

IDR_FILE RES "..\LIBProj\Other_Files\\MyFile.exe" 

因此,對於這兩個項目,將工作LibProj不會受到影響,因爲我們去的父目錄,然後返回。而對於DllProj,我們轉到包含Lib & Dll項目的父目錄,然後輸入Lib的目錄。