0

编译使用 g++ 和 ubuntu 12.04 的 cpp 程序时存在一些链接器问题

从 repo 安装 uhd。libuhd.so 文件位于 /usr/lib

现在我的问题是

1.对于链接 uhd,我使用了 -luhd,但这给了我一个错误 undefined reference to `uhd::set_thread_priority_safe(float, bool)'

我应该将 libuhd 的库路径添加到 LD_LIBRARY_PATH 吗?

我通过命令 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/libuhd.so 做到了这一点

在此之后我尝试再次编译但同样的错误?如果你能帮助我就太好了谢谢

4

1 回答 1

1

uhd::set_thread_priority_safe 是您在整个程序中调用的唯一 UHD 函数吗?奇怪的是,这是您从程序中看到的唯一未定义的引用。如果它是那里唯一的功能,那么它根本就没有找到库。如果不是,听起来您拥有的 UHD 版本很奇怪。

您是否尝试过:

$ sudo ldconfig

...在将库路径添加到 /etc/ld.so.conf 之后?

当你说你从 repo 安装它时,你指的是什么 repo?你在运行什么发行版?

于 2012-08-29T22:41:22.137 回答