Hi Sean, GNU Radio is not handling "X" or anything else in names with special care. (Yes, there's a few blocks that exist as source code templates that we run python scripts over in the build process to actually generate the _c, _f, _b and so on, but this is really not the case here).
This looks much more like a linking error – did you add "FILTER" to the list of "GR_REQUIRED_COMPONENTS" in the main CMakeLists.txt of your OOT? Note that "howto" sounds a bit like our slightly outdated introduction to writing OOT blocks – things should work, but I personally prefer the newer, better-maintained http://tutorials.gnuradio.org . Best regards, Marcus On 17.12.2016 00:35, Sean Horton wrote: > I have already made some OOT blocks, so I should have the basic > process down, but I can't find out why using any blocks in a hier > block with X in the name, which indicates an input, output, and/or > parameter can be of multiple types, results in undefined references to > the make functions. > > I have tried using the not_bb block in gnuradio/blocks, > diff_encoder_bb in gnuradio/digital, and freq_xlating_fir_filter_ccf > in gnuradio/filter. I can use these blocks in python without incident, > but making a hier block using those types of blocks is not working. I > run the built in default tests, and they all fail because of an > undefined references to code in gnuradio, which I have already built > from source. > > For example, this is from the test logs: > > undefined symbol: > _ZN2gr6filter27freq_xlating_fir_filter_ccf4makeEiRKSt6vectorIfSaIfEEdd > > After using c++filt: > > gr::filter::freq_xlating_fir_filter_ccf::make(int, std::vector<float, > std::allocator<float> > const&, double, double) > > This is the entire contents of a source file I've made trying to > resolve this issue: > > #include "test_xx_impl.h" > > > > #ifdef HAVE_CONFIG_H > > #include "config.h" > > #endif > > > > #include <gnuradio/filter/freq_xlating_fir_filter_ccf.h> > > #include <gnuradio/io_signature.h> > > namespace gr { > > namespace howto { > > > > test_xx::sptr test_xx::make() { > > return gnuradio::get_initial_sptr(new test_xx_impl()); > > } > > > > test_xx_impl::test_xx_impl() > > : gr::hier_block2("test_xx", gr::io_signature::make(1, 1, > sizeof(uint8_t)), > gr::io_signature::make(1, 1, sizeof(uint8_t))) { > > filter::freq_xlating_fir_filter_ccf::sptr testing = > > filter::freq_xlating_fir_filter_ccf::make(1, {1}, 10000, > 1000000); > } > > 41 > > 42 } /* namespace howto */ > > 43 } /* namespace gr */ > > Regards, > Sean > > -- > Sean Horton > > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio