[英]Calling .dll in linux environment in c++
我有要從Linux環境訪問的Windows動態鏈接庫。 我沒有該庫的源代碼,因此無法構建.so文件。
是否可以使用Winelib
或任何其他庫或工具將庫文件轉換為.so文件,以便我可以調用該庫中定義的函數?
沒有簡單的方法可以做到這一點,因為DLL本身不能完全在Linux環境中運行。 它可能在運行時依賴user32.dll
msvcrt.dll
和朋友,因此您也必須提供這些文件。
您可以使用winelib ,但不僅可以將.dll
轉換為.so
。 您必須鏈接要針對winelib調用DLL的整個項目,並在運行時將DLL本身包含在您的應用程序中。 如果您試圖將Windows應用程序移植到Linux,winelib將能夠為您轉換makefile,但是對於復雜項目而言,它並不是自動的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.