2012-06-09 70 views
2

我有C++編寫的,我想在Linux下使用Mono使用, 我按照本指南http://www.mono-project.com/Interop_with_Native_Libraries單共享linux下的位置庫

我得到它的工作,但我已經把一個共享庫我的庫文件放到/ usr/lib或/ lib文件夾中。

是否有我可以分發和使用我的.so文件,而不是將它們複製到/ usr/lib或/ lib中,而是將它們複製到我的Mono應用程序文件夾中? (當前目錄下的應用程序運行)

一些用戶使用該軟件可能沒有根/管理員權限,因此,它們不能安裝/文件複製到/ usr/lib或/ lib目錄

+0

或'/ usr/local/lib'。 – Linuxios

+1

你真的指C++嗎?你不能在單聲道上做C++互操作,只有C連接支持通過pinvoke – IanNorton

+0

SDK說它是用於C++開發的,但是這個庫可能用C編寫,導致C++的示例代碼直接調用這個庫(沒有class實例化)。鏈接到SDK http://www.starmicronics.com/support/SDKDocumentation.aspx – technomage

回答

2

我想你啓動程序時必須使用環境變量LD_LIBRARY_PATH:

LD_LIBRARY_PATH =。單聲道yourapp.exe

+0

好吧,它的工作原理...所以我只需要創建一個shell腳本來啓動程序。 – technomage

+0

或者,如果你知道你的安裝位置,你可以將該文件夾添加到LD_LIBRARY_PATH之前,從C#內加載庫# – IanNorton

+0

@IanNorton:是否意味着寫入〜/ .bashrc? – technomage