/usr/bin/ld: libxxx.so: undefined reference to `double GeographicLib::Math::AngNormalize参考解决方法

写在前面

自己的测试环境:
Ubuntu20.04

一、问题描述

自己使用 GeographicLib 编译程序的时候出现如下报错:

/usr/bin/ld: libxxx.so: undefined reference to `double GeographicLib::Math::AngNormalize<double>(double)'
collect2: error: ld returned 1 exit status

二、解决方法

出现这个报错的原因你,首先要检查是不是 GeographicLib 库的未能正确索引导致的。

find_package (GeographicLib REQUIRED)
include_directories(${GeographicLib_INCLUDE_DIRS})
target_link_libraries(xxx_node ${GeographicLib_LIBRARIES}) #  或者 ${GeographicLib_LIBRARY} 都可以

如果检查了自己的 CMakeLists.txt 发现,自己的所以是正确的的,但是依旧出现上述报错,那么很有可能就是 GeographicLib 库 的版本不对。
目前自己安装的是 GeographicLib-2.0,编译程序会出现报错,卸载 GeographicLib-2.0 之后,然后重新下载 GeographicLib源码进行安装 GeographicLib-1.50,然后再次编译,就可以编译成功了。

参考链接

[1] geographiclib. GeographicLib 源码下载链接, https://github.com/geographiclib/geographiclib/tags, 2023-07-25/2024-06-23.

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值