GNU Radio仅编译修改后的gr-qtgui模块遇依赖问题求助
问题描述
刚接触开源贡献,修改GNU Radio源码后希望仅编译gr-qtgui模块,执行了以下cmake命令:
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_DEFAULT=OFF -DENABLE_GR_QTGUI=ON -DCMAKE_INSTALL_PREFIX=/somedir -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
但遇到如下错误:
-- Configuring gr-qtgui support... -- Dependency QT_FOUND = 1 -- Dependency QWT_FOUND = TRUE -- Dependency ENABLE_GNURADIO_RUNTIME = OFF -- Dependency ENABLE_GR_FFT = -- Dependency ENABLE_GR_FILTER = -- Dependency PYTHONLIBS_FOUND = TRUE -- Dependency PYQT5_FOUND = TRUE CMake Error at cmake/Modules/GrComponent.cmake:72 (message): user force-enabled gr-qtgui but configuration checked failed Call Stack (most recent call first): gr-qtgui/CMakeLists.txt:33 (gr_register_component)
启用相关依赖后仍报错,因为依赖还有依赖,请问如何仅编译修改过的文件?
解决方案
仅编译修改文件的高效方法
如果你之前已经完成过GNU Radio的完整编译配置(即成功运行过cmake并编译过整个项目),完全不需要重新执行cmake配置,直接按以下步骤操作:
- 进入gr-qtgui模块的目录:
cd gr-qtgui - 执行
make命令,CMake会自动检测并仅编译你修改过的文件,以及依赖这些文件的目标文件:make - 如果需要安装编译后的模块,执行:
make install
若必须重新配置编译gr-qtgui及其依赖
如果确实需要重新生成编译配置,必须把gr-qtgui依赖的所有核心模块都手动开启——gr-qtgui依赖gr-runtime、gr-fft、gr-filter等模块,不能单独启用。执行以下cmake命令:
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_DEFAULT=OFF -DENABLE_GNURADIO_RUNTIME=ON -DENABLE_GR_FFT=ON -DENABLE_GR_FILTER=ON -DENABLE_GR_QTGUI=ON -DCMAKE_INSTALL_PREFIX=/somedir -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
但这种方式会重新编译所有依赖模块,远不如第一种方法高效。
内容的提问来源于stack exchange,提问作者Hamza
相关产品推荐
相关产品推荐

