[英]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.