[英]Linker can't find lib in Eclipse/JNI/ANT
我正在嘗試在Linux下的Eclipse中構建一個涉及JNI和ANT的大型Java / c ++項目。 一個源c ++文件調用log10()
函數進行數學計算。 該項目可以正常編譯,但是無法鏈接,它抱怨找不到鏈接log10()
所需的libm.so
庫。
我的問題是,即使經過以下步驟,我也無法正確地告訴Eclipse鏈接該文件:
libm
的引用, -lm
, LD_LIBRARY_PATH
設置為指向庫的位置, 我在做什么錯/有人在Eclipse中正確鏈接庫有這樣的經歷嗎? 有什么建議么?
這有點令人困惑。 如果您無法在Java環境中的運行時找到您的庫,請執行以下操作:
在對log10進行任何調用之前,請嘗試在Java環境中加載.so庫。
System.LoadLibrary("m");
注意我如何將“ lib”和“ .so”排除在外。
但是,您在抱怨C ++中的鏈接器問題,因此無法鏈接到動態文件。 您只能鏈接到靜態庫或靜態導出庫(因此,需要在編譯時鏈接到libm.a文件,然后程序在運行時將需要libm.so)。
您能否張貼您收到的確切消息以及何時收到?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.