繁体   English   中英

链接器在Eclipse / JNI / ANT中找不到lib

[英]Linker can't find lib in Eclipse/JNI/ANT

我正在尝试在Linux下的Eclipse中构建一个涉及JNI和ANT的大型Java / c ++项目。 一个源c ++文件调用log10()函数进行数学计算。 该项目可以正常编译,但是无法链接,它抱怨找不到链接log10()所需的libm.so库。

我的问题是,即使经过以下步骤,我也无法正确地告诉Eclipse链接该文件:

  1. 在链接器选项中添加了正确的库路径,
  2. 在链接器包含列表中添加了对libm的引用,
  3. 在完整的编译选项列表中添加了-lm
  4. LD_LIBRARY_PATH设置为指向库的位置,
  5. 将库复制到当前目录。

我在做什么错/有人在Eclipse中正确链接库有这样的经历吗? 有什么建议么?

这有点令人困惑。 如果您无法在Java环境中的运行时找到您的库,请执行以下操作:

在对log10进行任何调用之前,请尝试在Java环境中加载.so库。

System.LoadLibrary("m");

注意我如何将“ lib”和“ .so”排除在外。

但是,您在抱怨C ++中的链接器问题,因此无法链接到动态文件。 您只能链接到静态库或静态导出库(因此,需要在编译时链接到libm.a文件,然后程序在运行时将需要libm.so)。

您能否张贴您收到的确切消息以及何时收到?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM