我正在嘗試構建共享庫,以便在使用拉撒路的覆盆子pi(模型3B)上使用。經過一番困惑之後,我發現我原來的圖書館工作不正常,於是我轉向使用this例子的一個非常簡單的圖書館。使用Lazarus在樹莓上構建共享庫
但即使這個簡單的庫不能正確編譯使用。當我嘗試在其他Lazarus計劃打開庫它給我的錯誤:
<libName>: cannot open shared object file: No such file or directory
一些研究,我發現下面的診斷,我可以跑後。我已經尋找類似案件
./libname.so: ELF 32-bit LSB shared object, ARM, EABI5 verion 1 (SYSV), dynamically linked, not stripped
$ LDD ./libname.so
not a dynamic executable
:在編譯庫中的文件和LDD命令:
$文件./libname.so給並發現其他人在嘗試使用不同的平臺/體系結構編譯庫時遇到了這個問題。我已經將項目>項目選項>編譯器選項>目標平臺設置爲OS:= linux和Target CPU系列:arm。
我使用(使用$ UNAME -A)系統:
Linux raspberrypi 4.4.13-V7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux
與發行:Raspbian的GNU/Linux 8.0(傑西)
拉撒路版本:1.2.4 + dfsg2-1 FPC版本:2.6.4 arm-linux-gtk2
在這一點上,我不知道什麼是錯的,爲什麼這個庫不工作。我可以找到關於這個問題的很少的信息(在aspberry平臺上,並使用lazarus)任何建議,我可以嘗試使它工作,編譯它不同或做更多的診斷?
如果你做LD_LIBRARY_PATH =。,那麼會發生什麼?或者嘗試將單元「initc」導入到庫中。 –
嘗試了兩個,確實initc解決了它,但導致了另一個問題。然而找到了一個解決方案,我將發佈。不管怎麼說,還是要謝謝你! – Steven