【发布时间】:2021-08-08 03:34:05
【问题描述】:
我正在尝试按照此处为 3.8 构建的说明在 ZC706 上本地构建:https://wiki.gnuradio.org/index.php/InstallingGR#From_Source
除了看起来像 gr-blocks 中 PMT 的参数转换问题之外,它似乎可以完成几乎所有的构建,我可以使用一些帮助来确定参数转换的差异来自哪里。我没有使用 swig 或它如何自动生成这些文件的经验,但我认为我必须在此处安装了错误版本的某些库。
...
make -f gr-blocks/swig/CMakeFiles/blocks_swig0.dir/build.make gr-blocks/swig/CMakeFiles/blocks_swig0.dir/build
make[2]: Entering directory '/home/analog/gnuradio/build'
[ 38%] Building CXX object gr-blocks/swig/CMakeFiles/blocks_swig0.dir/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx.o
cd /home/analog/gnuradio/build/gr-blocks/swig && /usr/bin/c++ -DAPPLY_BROKEN_ROTATOR_WORKAROUND -DGR_CTRLPORT -DGR_MPLIB_GMP -DGR_PERFORMANCE_COUNTERS -Dblocks_swig0_EXPORTS -I/home/analog/gnuradio/build/gr-blocks/swig -I/home/analog/gnuradio/gr-blocks/swig -I/home/analog/gnuradio/build/gnuradio-runtime/swig -I/home/analog/gnuradio/gnuradio-runtime/swig -I/home/analog/gnuradio/gnuradio-runtime/lib/../include -I/home/analog/gnuradio/build/gnuradio-runtime/lib/../include -I/home/analog/gnuradio/gnuradio-runtime/lib/pmt/../../include -I/home/analog/gnuradio/build/volk/include -I/home/analog/gnuradio/volk/include -I/home/analog/gnuradio/gr-blocks/lib/../include -isystem /usr/include/python3.7m -fvisibility=hidden -Wsign-compare -Wall -Wno-uninitialized -O3 -DNDEBUG -fPIC -std=c++11 -o CMakeFiles/blocks_swig0.dir/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx.o -c /home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx: In function ‘PyObject* _wrap_new_file_sink_base(PyObject*, PyObject*)’:
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:7509:13: warning: variable ‘argv’ set but not used [-Wunused-but-set-variable]
PyObject *argv[2] = {
^~~~
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx: In function ‘PyObject* _wrap_file_meta_sink_make(PyObject*, PyObject*, PyObject*)’:
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:8260:137: error: no matching function for call to ‘gr::blocks::file_meta_sink::make(size_t&, const string&, double&, double&, gr::blocks::gr_file_types&, bool&, size_t&, const string&, bool&)’
result = gr::blocks::file_meta_sink::make(arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6,arg7,(std::string const &)*arg8,arg9);
^
In file included from /home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:4468:
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note: candidate: ‘static gr::blocks::file_meta_sink::sptr gr::blocks::file_meta_sink::make(size_t, const string&, double, double, gr::blocks::gr_file_types, bool, size_t, pmt::pmt_t, bool)’
static sptr make(size_t itemsize,
^~~~
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note: no known conversion for argument 8 from ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘pmt::pmt_t’ {aka ‘boost::shared_ptr<pmt::pmt_base>’}
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx: In function ‘PyObject* _wrap_file_meta_sink_sptr_make(PyObject*, PyObject*, PyObject*)’:
/home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:43967:119: error: no matching function for call to ‘gr::blocks::file_meta_sink::make(size_t&, const string&, double&, double&, gr::blocks::gr_file_types&, bool&, size_t&, const string&, bool&)’
result = (*arg1)->make(arg2,(std::string const &)*arg3,arg4,arg5,arg6,arg7,arg8,(std::string const &)*arg9,arg10);
^
In file included from /home/analog/gnuradio/build/gr-blocks/swig/CMakeFiles/blocks_swig0.dir/blocks_swig0PYTHON_wrap.cxx:4468:
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note: candidate: ‘static gr::blocks::file_meta_sink::sptr gr::blocks::file_meta_sink::make(size_t, const string&, double, double, gr::blocks::gr_file_types, bool, size_t, pmt::pmt_t, bool)’
static sptr make(size_t itemsize,
^~~~
/home/analog/gnuradio/gr-blocks/lib/../include/gnuradio/blocks/file_meta_sink.h:95:17: note: no known conversion for argument 8 from ‘const string’ {aka ‘const std::__cxx11::basic_string<char>’} to ‘pmt::pmt_t’ {aka ‘boost::shared_ptr<pmt::pmt_base>’}
【问题讨论】:
-
请不要在嵌入式设备上进行本地编译。有 SDK 正是因为那是个坏主意。
-
这个编译问题看起来好像您有另一组 GNU Radio 标头被 SWIG 意外加载。不建立在目标上的另一个原因。
标签: gnuradio