Gnuradio 链接器标志
Gnuradio linker flag
编译时出现以下错误:
undefined reference to `gr::fft::window::blackman_harris(int, int)
我知道这个链接器错误是由于我的 g++ 命令中没有 gnuradio 链接器标志。问题是我一直找不到正确的,也试过-lgnuradio
和-lgr-fft
(不存在)。
我尝试搜索 google,但我在使用 makefile 时只找到了与 CMake 相关的关于 gnuradio 的主题。有帮助吗?
如果你提供minimal example,我可以帮助你更多,这样我就多猜少了。
gnuradio 包中的特定库名称以 libgnuradio-[lib].so
开头,例如。在你的情况下 libgnuradio-fft.so,所以 -lgnuradio-fft
。
为了在发生更多链接问题时查找 gnuradio
库的其余部分:
- 使用 pkg-config,gnuradio 公开正确的配置
- 在您的系统路径中找到
gnuradio
库,具体取决于您的系统,例如。 /usr/lib、/usr/local/lib、/usr/lib64 或类似的。这样你就知道它的名字了。
我也有类似的问题,即使使用 -lgnuradio-fft
。事实证明,我只在 /usr/lib/x86_64-linux-gnu/
中安装了版本库(例如 libgnuradio-fft.so.3.8.2),因此在链接时找不到它们。
通过使用 apt-file search libgnuradio-fft.so
,我意识到我只需要 apt install gnuradio-dev
而不是 gnuradio 包。
编译时出现以下错误:
undefined reference to `gr::fft::window::blackman_harris(int, int)
我知道这个链接器错误是由于我的 g++ 命令中没有 gnuradio 链接器标志。问题是我一直找不到正确的,也试过-lgnuradio
和-lgr-fft
(不存在)。
我尝试搜索 google,但我在使用 makefile 时只找到了与 CMake 相关的关于 gnuradio 的主题。有帮助吗?
如果你提供minimal example,我可以帮助你更多,这样我就多猜少了。
gnuradio 包中的特定库名称以 libgnuradio-[lib].so
开头,例如。在你的情况下 libgnuradio-fft.so,所以 -lgnuradio-fft
。
为了在发生更多链接问题时查找 gnuradio
库的其余部分:
- 使用 pkg-config,gnuradio 公开正确的配置
- 在您的系统路径中找到
gnuradio
库,具体取决于您的系统,例如。 /usr/lib、/usr/local/lib、/usr/lib64 或类似的。这样你就知道它的名字了。
我也有类似的问题,即使使用 -lgnuradio-fft
。事实证明,我只在 /usr/lib/x86_64-linux-gnu/
中安装了版本库(例如 libgnuradio-fft.so.3.8.2),因此在链接时找不到它们。
通过使用 apt-file search libgnuradio-fft.so
,我意识到我只需要 apt install gnuradio-dev
而不是 gnuradio 包。