我有一個在Xamarin Studio中使用MonoMac的項目。我正在使用[DllImport ("rlimit")]
來訪問.dylib文件。但是,即使我已將rlimit
映射到rlimit.dylib
,仍然會拋出DllNotFoundException
。MonoGame無法找到dylib文件,拋出DllNotFoundException
.dylib文件在項目中,應該可以訪問,但無法找到它們。
我猜測這些文件要麼是在錯誤的地方,要麼是因某種原因沒有被檢測到。
我有一個在Xamarin Studio中使用MonoMac的項目。我正在使用[DllImport ("rlimit")]
來訪問.dylib文件。但是,即使我已將rlimit
映射到rlimit.dylib
,仍然會拋出DllNotFoundException
。MonoGame無法找到dylib文件,拋出DllNotFoundException
.dylib文件在項目中,應該可以訪問,但無法找到它們。
我猜測這些文件要麼是在錯誤的地方,要麼是因某種原因沒有被檢測到。
你需要把dylib放在任何地方mono找到它。
你可以找出單做這個查找本地庫:
export MONO_LOG_LEVEL=debug
export MONO_LOG_MASK=dll
mono yourprogram.exe
和詳細查找輸出將被打印到終端。在我的系統中,mono首先在可執行文件的目錄中查找,因此將dylib放在最容易的位置。然後單聲道要求系統找到dylib(通過試圖打開它沒有路徑)。系統通常在/ usr/lib中查找,也許還有其他一些地方(這當然是依賴於系統的),但無論如何,您都可以通過將LD_LIBRARY_PATH設置爲該路徑來爲系統添加路徑。在這種情況下,你會做到這一點:
export LD_LIBRARY_PATH=/path/to/dylib:$LD_LIBRARY_PATH
mono yourprogram.exe
請注意,您不需要.dllmap,單就可以自動補齊此時,相應的後綴,根據不同的平臺上的Mac(名爲.dylib,。所以在Linux和.dll在Windows上)。