我們在參考別人庫的時候,最簡單的方法是直接把.h檔案和lib檔案直接拷到工程目錄下。但還有更好的方式是在專案屬性里設定include和lib目錄。
但是現在有些.dll檔案,我不想直接拷到工程目錄下,要怎么設定或者寫代碼可以參考到這些dll檔案?
uj5u.com熱心網友回復:
LoadLibrary()GetProcAddress/FreeLibrary()uj5u.com熱心網友回復:
把 DLL 的路徑 添加到系統環境變數 %PATH% 下面, 使系統能找到DLLuj5u.com熱心網友回復:
編譯的時候只需要.h和.lib,并不需要.dll參與就可以編譯成功,運行時才需要.dll,如果不想把dll拷貝到exe的目錄中,可以把dll所在路徑添加到PATH環境變數中即可。uj5u.com熱心網友回復:
呼叫這些dll的代碼不是我寫的,是我呼叫的庫里封裝的呼叫那些dll
uj5u.com熱心網友回復:
我用Qt的時候,可以在程式運行之前設定一下Path,(使dll不在當前路徑也能運行)
但我看“我的電腦”環境變數設定那里,并沒有多一條path資訊,不知道是不是qt做成了,程式退出的時候把那潭訓境變數給清了,還是添加的是個臨時的環境變數,而不染污哪個電腦的環境變數。MFC怎么做呢?
uj5u.com熱心網友回復:
那就試試建一個輔助啟動程式, CreateProcess 方式啟動主應用程式, CreateProcess 可以傳入環境變數CreateEnvironmentBlock CreateProcess
uj5u.com熱心網友回復:
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix, MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl先下載安裝MSDN98
再參考:SAMPLES\VC98\MFC\ADVANCED\DLLTRACE\*.*
uj5u.com熱心網友回復:
假設你的dll在D:\Library中你的exe名為123.exe
撰寫一個bat檔案:
set PATH=%PATH%;D:\Library
123.exe
然后把這個bat放到exe同一個目錄中,運行這個bat來啟動你的程式,就將臨時的PATH環境變數傳入了,不會影響系統的環境變數
uj5u.com熱心網友回復:
http://stackoverflow.com/questions/2119539/visual-studio-how-to-set-path-to-dlluj5u.com熱心網友回復:
不拷貝至專案目錄是個好想法,避免了大量的重復,可能在VS的選項里設定一下也可以.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/130522.html
標籤:進程/線程/DLL
