鏈接從另一個DLL一個DLL我已動態以下文件結構的Visual C++:使用相對路徑
C:\Application\application.exe
C:\Application\plugins\myplugin\myplugin.dll
C:\Application\plugins\myplugin\libs\utils.dll
這裏application.exe
負載myplugin.dll
經由LoadLibrary
。請注意,我無法控制application.exe
,因爲我只開發插件。
我想是讓myplugin.dll
負載libs\utils.dll
通過相對路徑(最好使用靜態鏈接)。也就是說,我不想依賴application.exe
的位置。我目前在安裝myplugin
時將C:\Application\plugins\myplugin\libs
添加到PATH
環境變量中,但環境變量不是理想的解決方案,我想避免這樣做。
我希望我可以使用程序集和配置文件來指定相對路徑libs\utils.dll
在myplugin.dll
。我試過這個,但無濟於事。然後我在StackOverflow上看到有人提到配置文件僅適用於應用程序(即可執行文件)。但正如我上面所說,我無法控制application.exe
。有沒有解決這個看起來很簡單的問題,我相信在Unix系統上可以通過rpath解決?
號必須使用GetModuleFileName()來發現您的安裝位置。附加子目錄+文件名。 –