我在我的Java項目中調用使用DLL文件的C++方法。現在,我已經硬編碼了路徑。把DLL文件放在哪裏?
該應用程序將部署在許多機器上,它也可以在多臺機器上運行。我應該在哪裏放入我的DLL文件,以便我可以加載它並在任何機器上調用它?
我在我的Java項目中調用使用DLL文件的C++方法。現在,我已經硬編碼了路徑。把DLL文件放在哪裏?
該應用程序將部署在許多機器上,它也可以在多臺機器上運行。我應該在哪裏放入我的DLL文件,以便我可以加載它並在任何機器上調用它?
C:\ WINDOWS \ SYSTEM32(假設C是Windows安裝的驅動器,可能是您可以從註冊表中獲得它)
我用以前使用的窗口很長一段時間&不是專家,所以我做了谷歌搜索你找到鏈接http://vlaurie.com/computers2/Articles/dll.htm
見鏈接中的最後一個話題(一開始的標題使用Regsvr32.exe註冊DLL文件)
regsrv32只會註冊COM/ActiveX .dll,並且只有它們具有DllRegisterServer()條目時纔會註冊。可能不是這裏的情況。 – paulsm4
我見過的把DLL到應用程序中JAR文件。在運行時,他們將JAR中的DLL提取到一個臨時目錄中,然後在那裏訪問它。
這不是最有效的方法,但從部署的角度來看最簡單。
*「這不是最有效的方法,但最簡單」*使用[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)部署本機更容易。 –
您必須確保您的DLL位於類路徑中。
這樣做的一種方法是將PATH環境變量中的DLL路徑。
另一種選擇是將其添加到VM參數在變量LD_LIBRARY_PATH,比如:
java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass
如果你正在開發一個複雜的應用程序,必須是穩定的,你必須確保DLL你需要放置在操作系統將要查找的地方,可能會想到安裝程序腳本/程序。
請問您的應用程序。有一個GUI? –
順便說一句 - 在Mac或* nix機器上無法放置DLL並加載它。你有這些平臺的本地人嗎? –