Is it possible to build GNUHawk with REDHAWK 2.0? I understand that GNUHAWK is a rather old package but it would be very convenient.
I have successfully built Redhawk 2.0
I am using Boost 1.6
And I am running Centos 6.7
I have cloned the integration-gnuhawk repository and after installing the required dependencies and running ./reconf, ./configure, make it appears that the volk module of gnuradio builds properly. However when errors are encountered when trying to build the gnuhawk library.
First I get:
In file included from ../include/gnuhawk/gruel/msg_accepter.h:27,
from ../include/gnuhawk/gr_msg_accepter.h:26,
from ../include/gnuhawk/gr_basic_block.h:30,
from gr_basic_block.cc:27:
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:125: error: ISO C++ forbids declaration of ‘Consumer_i’ with no type
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:125: error: expected ‘;’ before ‘*’ token
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:140: error: ‘Consumer_i’ was not declared in this scope
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:140: error: template argument 2 is invalid
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:140: error: template argument 4 is invalid
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:143: error: ISO C++ forbids declaration of ‘SupplierAdmin_i’ with no type
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:143: error: expected ‘;’ before ‘*’ token
Then I see many messages similar to these
In file included from ../include/gnuhawk/gnuhawk.h:26,
from ../include/gnuhawk/gr_msg_accepter.h:27,
from ../include/gnuhawk/gr_basic_block.h:30,
from gr_basic_block.cc:27:
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]’:
../include/gnuhawk/gr_properties.h:412: error: cannot allocate an object of abstract type ‘GR_StringProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_StringProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
Here is the entire output of "make":
Making all in gnuradio/volk
make[1]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[2]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[3]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[3]: Circular include/volk/volk_cpu.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk.h <- include/volk/volk.h dependency dropped.
make[3]: Circular include/volk/volk_typedefs.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk_typedefs.h <- include/volk/volk.h dependency dropped.
make[3]: Circular include/volk/volk_typedefs.h <- include/volk/volk_typedefs.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk_typedefs.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk_config_fixed.h dependency dropped.
make[3]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[3]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[3]: Circular include/volk/volk_cpu.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk.h <- include/volk/volk.h dependency dropped.
make[3]: Circular include/volk/volk_typedefs.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk_typedefs.h <- include/volk/volk.h dependency dropped.
make[3]: Circular include/volk/volk_typedefs.h <- include/volk/volk_typedefs.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk_cpu.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk_typedefs.h dependency dropped.
make[3]: Circular include/volk/volk_config_fixed.h <- include/volk/volk_config_fixed.h dependency dropped.
make[3]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
[ 95%] Built target volk
make[3]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[3]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
[ 97%] Built target test_all
make[3]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[3]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
[100%] Built target volk_profile
make[2]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
make[1]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/gnuradio/volk'
Making all in include
make[1]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/include'
Making all in gnuhawk
make[2]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/include/gnuhawk'
make[3]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/include/gnuhawk'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/include/gnuhawk'
make[2]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/include/gnuhawk'
make[2]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/include'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/include'
make[1]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/include'
Making all in src
make[1]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/src'
make[2]: Entering directory `/home/wdjohns/Downloads/integration-gnuhawk/src'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"gnuhawk\" -DPACKAGE_TARNAME=\"gnuhawk\" -DPACKAGE_VERSION=\"1.10.0\" -DPACKAGE_STRING=\"gnuhawk\ 1.10.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"gnuhawk\" -DVERSION=\"1.10.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=1 -DHAVE_BOOST_THREAD=1 -DEXPECTED_VECTOR_IMPL=/\*\*/ -D__processor_unknown__ -D__linux__ -D__OSVERSION__=2 -DENABLE_EVENTS=1 -I/home/wdjohns/redhawk/core/include -I/home/wdjohns/redhawk/core/include/ossie -I/home/wdjohns/redhawk/core/share/idl -I../include/gnuhawk -I../include/gnuhawk/runtime -I../include/gnuhawk/gruel -I../include/gnuhawk/gnuradio/filter -I../include/gnuhawk/gnuradio/general -I../include/gnuhawk/gnuradio/gengen -I../include/gnuhawk/gnuradio/gruel -I../include/gnuhawk/gnuradio/runtime -I../include/gnuhawk/gnuradio -I../gnuradio/volk/include -I../include/gnuhawk/gnuradio/reed-solomon -I../include/gnuhawk/gnuradio/hier -I../include/gnuhawk/gnuradio/io -I../include/gnuhawk/gnuradio/runtime -I../include/gnuhawk/gnuradio/viterbi -I../include/gnuhawk/gnuradio/gr-atsc -I../include/gnuhawk/gnuradio/gr-audio -I../include/gnuhawk/gnuradio/gr-audio/alsa -I../include/gnuhawk/gnuradio/gr-digital -I../include/gnuhawk/gnuradio/gr-fcd -I../include/gnuhawk/gnuradio/gr-fft -I../include/gnuhawk/gnuradio/gr-filter -I../include/gnuhawk/gnuradio/gr-howto-write-a-block -I../include/gnuhawk/gnuradio/gr-noaa -I../include/gnuhawk/gnuradio/gr-pager -I../include/gnuhawk/gnuradio/gr-trellis -I../include/gnuhawk/gnuradio/gr-vocoder -I../include/gnuhawk/gnuradio/gr-wavelet -UPACKAGE_NAME -UPACKAGE_BUGREPORT -UPACKAGE_TARNAME -UPACKAGE_STRING -UPACKAGE_VERSION -pthread -I/usr/include -msse2 -g -O2 -Wall -Wno-strict-aliasing -MT gr_basic_block.lo -MD -MP -MF .deps/gr_basic_block.Tpo -c -o gr_basic_block.lo gr_basic_block.cc
libtool: compile: g++ -DPACKAGE_NAME=\"gnuhawk\" -DPACKAGE_TARNAME=\"gnuhawk\" -DPACKAGE_VERSION=\"1.10.0\" "-DPACKAGE_STRING=\"gnuhawk 1.10.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"gnuhawk\" -DVERSION=\"1.10.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=1 -DHAVE_BOOST_THREAD=1 "-DEXPECTED_VECTOR_IMPL=/**/" -D__processor_unknown__ -D__linux__ -D__OSVERSION__=2 -DENABLE_EVENTS=1 -I/home/wdjohns/redhawk/core/include -I/home/wdjohns/redhawk/core/include/ossie -I/home/wdjohns/redhawk/core/share/idl -I../include/gnuhawk -I../include/gnuhawk/runtime -I../include/gnuhawk/gruel -I../include/gnuhawk/gnuradio/filter -I../include/gnuhawk/gnuradio/general -I../include/gnuhawk/gnuradio/gengen -I../include/gnuhawk/gnuradio/gruel -I../include/gnuhawk/gnuradio/runtime -I../include/gnuhawk/gnuradio -I../gnuradio/volk/include -I../include/gnuhawk/gnuradio/reed-solomon -I../include/gnuhawk/gnuradio/hier -I../include/gnuhawk/gnuradio/io -I../include/gnuhawk/gnuradio/runtime -I../include/gnuhawk/gnuradio/viterbi -I../include/gnuhawk/gnuradio/gr-atsc -I../include/gnuhawk/gnuradio/gr-audio -I../include/gnuhawk/gnuradio/gr-audio/alsa -I../include/gnuhawk/gnuradio/gr-digital -I../include/gnuhawk/gnuradio/gr-fcd -I../include/gnuhawk/gnuradio/gr-fft -I../include/gnuhawk/gnuradio/gr-filter -I../include/gnuhawk/gnuradio/gr-howto-write-a-block -I../include/gnuhawk/gnuradio/gr-noaa -I../include/gnuhawk/gnuradio/gr-pager -I../include/gnuhawk/gnuradio/gr-trellis -I../include/gnuhawk/gnuradio/gr-vocoder -I../include/gnuhawk/gnuradio/gr-wavelet -UPACKAGE_NAME -UPACKAGE_BUGREPORT -UPACKAGE_TARNAME -UPACKAGE_STRING -UPACKAGE_VERSION -pthread -I/usr/include -msse2 -g -O2 -Wall -Wno-strict-aliasing -MT gr_basic_block.lo -MD -MP -MF .deps/gr_basic_block.Tpo -c gr_basic_block.cc -fPIC -DPIC -o .libs/gr_basic_block.o
In file included from ../include/gnuhawk/gruel/msg_accepter.h:27,
from ../include/gnuhawk/gr_msg_accepter.h:26,
from ../include/gnuhawk/gr_basic_block.h:30,
from gr_basic_block.cc:27:
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:125: error: ISO C++ forbids declaration of ‘Consumer_i’ with no type
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:125: error: expected ‘;’ before ‘*’ token
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:140: error: ‘Consumer_i’ was not declared in this scope
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:140: error: template argument 2 is invalid
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:140: error: template argument 4 is invalid
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:143: error: ISO C++ forbids declaration of ‘SupplierAdmin_i’ with no type
/home/wdjohns/redhawk/core/include/ossie/MessageInterface.h:143: error: expected ‘;’ before ‘*’ token
In file included from ../include/gnuhawk/gnuhawk.h:26,
from ../include/gnuhawk/gr_msg_accepter.h:27,
from ../include/gnuhawk/gr_basic_block.h:30,
from gr_basic_block.cc:27:
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]’:
../include/gnuhawk/gr_properties.h:412: error: cannot allocate an object of abstract type ‘GR_StringProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_StringProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = bool]’:
../include/gnuhawk/gr_properties.h:419: error: cannot allocate an object of abstract type ‘GR_BooleanProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_BooleanProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = char]’:
../include/gnuhawk/gr_properties.h:426: error: cannot allocate an object of abstract type ‘GR_CharProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_CharProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = unsigned char]’:
../include/gnuhawk/gr_properties.h:433: error: cannot allocate an object of abstract type ‘GR_OctetProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_OctetProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = short int]’:
../include/gnuhawk/gr_properties.h:440: error: cannot allocate an object of abstract type ‘GR_ShortProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_ShortProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = short unsigned int]’:
../include/gnuhawk/gr_properties.h:447: error: cannot allocate an object of abstract type ‘GR_UShortProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_UShortProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = int]’:
../include/gnuhawk/gr_properties.h:454: error: cannot allocate an object of abstract type ‘GR_LongProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_LongProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = unsigned int]’:
../include/gnuhawk/gr_properties.h:461: error: cannot allocate an object of abstract type ‘GR_ULongProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_ULongProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = float]’:
../include/gnuhawk/gr_properties.h:468: error: cannot allocate an object of abstract type ‘GR_FloatProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_FloatProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(T&) [with T = double]’:
../include/gnuhawk/gr_properties.h:475: error: cannot allocate an object of abstract type ‘GR_DoubleProperty’
../include/gnuhawk/gr_properties.h:263: note: because the following virtual functions are pure within ‘GR_DoubleProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]’:
../include/gnuhawk/gr_properties.h:483: error: cannot allocate an object of abstract type ‘GR_StringSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_StringSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = bool]’:
../include/gnuhawk/gr_properties.h:490: error: cannot allocate an object of abstract type ‘GR_BooleanSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_BooleanSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = char]’:
../include/gnuhawk/gr_properties.h:497: error: cannot allocate an object of abstract type ‘GR_CharSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_CharSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = unsigned char]’:
../include/gnuhawk/gr_properties.h:504: error: cannot allocate an object of abstract type ‘GR_OctetSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_OctetSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = short int]’:
../include/gnuhawk/gr_properties.h:511: error: cannot allocate an object of abstract type ‘GR_ShortSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_ShortSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = short unsigned int]’:
../include/gnuhawk/gr_properties.h:518: error: cannot allocate an object of abstract type ‘GR_UShortSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_UShortSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = int]’:
../include/gnuhawk/gr_properties.h:525: error: cannot allocate an object of abstract type ‘GR_LongSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_LongSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = unsigned int]’:
../include/gnuhawk/gr_properties.h:532: error: cannot allocate an object of abstract type ‘GR_ULongSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_ULongSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = long int]’:
../include/gnuhawk/gr_properties.h:539: error: cannot allocate an object of abstract type ‘GR_LongLongSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_LongLongSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = long unsigned int]’:
../include/gnuhawk/gr_properties.h:546: error: cannot allocate an object of abstract type ‘GR_ULongLongSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_ULongLongSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = float]’:
../include/gnuhawk/gr_properties.h:553: error: cannot allocate an object of abstract type ‘GR_FloatSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_FloatSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = double]’:
../include/gnuhawk/gr_properties.h:560: error: cannot allocate an object of abstract type ‘GR_DoubleSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_DoubleSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
../include/gnuhawk/gr_properties.h: In static member function ‘static PropertyInterface* GR_PropertyWrapperFactory::Create(std::vector<T, std::allocator<_Tp1> >&) [with T = std::complex<float>]’:
../include/gnuhawk/gr_properties.h:568: error: cannot allocate an object of abstract type ‘GR_ComplexFloatSeqProperty’
../include/gnuhawk/gr_properties.h:31: note: because the following virtual functions are pure within ‘GR_ComplexFloatSeqProperty’:
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:84: note: virtual void PropertyInterface::setValue(const CORBA::Any&, bool)
/home/wdjohns/redhawk/core/include/ossie/PropertyInterface.h:121: note: virtual bool PropertyInterface::matchesAddress(const void*)
make[2]: *** [gr_basic_block.lo] Error 1
make[2]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/wdjohns/Downloads/integration-gnuhawk/src'
make: *** [all-recursive] Error 1
I think you already answered the question. GNU Hawk includes a copy of GNU Radio 3.6.2, this was released in 2012. From a quick look at the messages, I suspect many of the compile errors are due to gcc becoming stricter every new release. All of these issues have been fixed in newer gnuradios.
Basically, someone needs to remove the old gnuradio from the gnuhawk source tree, and update gnuhawk to work with current gnuradio versions. That would lead to a supportable gnuhawk.
How to fix a Visual Studio 2012 error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string?
I've been compiling a solution containing one exe and several static lib projects
on which the exe depends fine with Visual Studio 2008. The static libs include:
TCL: tcl84tsx.lib
wxWidgets: wxbase.lib
zlib.lib
ws2_32.lib
xerces-c_2.lib
SNMP Research EMANATE: subagent.lib,agent.lib,emanate.lib,pack.lib,mibtable.lib,devkit.lib
etc.
I loaded the solution into Visual Studio 2012 and have compiled all the projects in the solution but when I try to link the exe, I'm getting errors about unresolved symbols for stuff in the standard C++ library like the output below.
I've found lots of people with unresolved symbols like this one but none of the fixes are working for me. Fixes I've tried so far include
Updating the EXE project by manually adding references to static lib projects on which the exe project depends
Toggling the "treat wchar_t as built-in type" linker option
Output from Visual Studio 2012 linker...
1>ace_funcs.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>ComponentX-Win32.lib(MyOrgConsoleSktServer.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentY-Win32.lib(ORBSingleton.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentY-Win32.lib(OrbException.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentZ-Win32.lib(ExceptionHelper.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentZ-Win32.lib(ComponentCCheckpointImpl.obj) : warning LNK4217: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported in function "public: __thiscall std::logic_error::logic_error(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0logic_error#std##QAE#ABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##1##Z)
1>ComponentX-Win32.lib(MyOrgConsole.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentX-Win32.lib(MyOrgThreadFactory.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentZ-Win32.lib(PersistenceServiceProxy.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentZ-Win32.lib(ComponentBServiceImpl.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentZ-Win32.lib(XmlPreferencesHelper.obj) : warning LNK4217: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported in function "private: void __thiscall _CORBA_Sequence_String::copybuffer(unsigned long)" (?copybuffer#_CORBA_Sequence_String##AAEXK#Z)
1>ComponentZ-Win32.lib(XmlHelper.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentA-Win32.lib(ServiceBootstrap.obj) : warning LNK4217: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported in function "public: __thiscall std::logic_error::logic_error(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0logic_error#std##QAE#ABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##1##Z)
1>ComponentA-Win32.lib(propertyutil.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentA-Win32.lib(SystemEnvironment.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentZ-Win32.lib(PersistenceClient.obj) : warning LNK4049: locally defined symbol ??0?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#ABV01##Z (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)) imported
1>ComponentY-Win32.lib(OrbException.obj) : warning LNK4049: locally defined symbol ??1?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
1>ComponentX-Win32.lib(MyOrgConsole.obj) : warning LNK4049: locally defined symbol ??1?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
1>ComponentX-Win32.lib(MyOrgThreadFactory.obj) : warning LNK4049: locally defined symbol ??1?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
1>ComponentX-Win32.lib(MyOrgConsoleSktServer.obj) : warning LNK4049: locally defined symbol ??1?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
1>ComponentY-Win32.lib(ORBSingleton.obj) : warning LNK4217: locally defined symbol ??1?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported in function "public: virtual __thiscall OrbException::~OrbException(void)" (??1OrbException##UAE#XZ)
1>ComponentZ-Win32.lib(XmlPreferencesHelper.obj) : warning LNK4049: locally defined symbol ??1?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QAE#XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
-- snip --
1>ComponentA-Win32.lib(ServiceBootstrap.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned int,unsigned int)const " (__imp_?substr#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QBE?AV12#II#Z) referenced in function "private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ServiceBootstrap::trimmed(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (?trimmed#ServiceBootstrap##AAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABV23#PBD#Z)
1>ComponentA-Win32.lib(ServiceBootstrap.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_last_not_of(char const *,unsigned int,unsigned int)const " (__imp_?find_last_not_of#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QBEIPBDII#Z) referenced in function "private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ServiceBootstrap::trimmed(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (?trimmed#ServiceBootstrap##AAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABV23#PBD#Z)
1>ComponentA-Win32.lib(ServiceBootstrap.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::find_first_not_of(char const *,unsigned int,unsigned int)const " (__imp_?find_first_not_of#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QBEIPBDII#Z) referenced in function "private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ServiceBootstrap::trimmed(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (?trimmed#ServiceBootstrap##AAE?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABV23#PBD#Z)
1>ComponentA-Win32.lib(ServiceBootstrap.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (__imp_??$?HDU?$char_traits#D#std##V?$allocator#D#1##std##YA?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##0#ABV10#PBD#Z) referenced in function "private: void __thiscall ServiceBootstrap::verifyBootstrapProperties(void)" (?verifyBootstrapProperties#ServiceBootstrap##AAEXXZ)
1>ComponentZ-Win32.lib(PersistenceServiceProxy.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (__imp_??$?HDU?$char_traits#D#std##V?$allocator#D#1##std##YA?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##0#ABV10#PBD#Z)
1>ComponentA-Win32.lib(ServiceBootstrap.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??$?HDU?$char_traits#D#std##V?$allocator#D#1##std##YA?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##0#ABV10#0#Z) referenced in function "public: class std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > __thiscall ServiceBootstrap::getBootstrapProperties(void)" (?getBootstrapProperties#ServiceBootstrap##QAE?AV?$map#V?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##V12#U?$less#V?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###2#V?$allocator#U?$pair#$$CBV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##V12##std###2##std##XZ)
1>ComponentZ-Win32.lib(PersistenceServiceProxy.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??$?HDU?$char_traits#D#std##V?$allocator#D#1##std##YA?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##0#ABV10#0#Z)
1>ComponentA-Win32.lib(propertyutil.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Mutex::_Lock(void)" (__imp_?_Lock#_Mutex#std##QAEXXZ) referenced in function "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::_Sentry_base(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0_Sentry_base#?$basic_ostream#DU?$char_traits#D#std###std##QAE#AAV12##Z)
1>ComponentZ-Win32.lib(XmlHelper.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Mutex::_Lock(void)" (__imp_?_Lock#_Mutex#std##QAEXXZ)
-- snip --
1>.\Debug/sComponentC.exe : fatal error LNK1120: 22 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
In properties->c/c++->Laguage, I set treat wchar_t as built in type to No and it solved my problem.
If you have already tried below options:
Updating the EXE project by manually adding references to static lib projects on which the exe project depends
Toggling the "treat wchar_t as built-in type" option
Try configuring your project to x64 by following steps:
Right click on Solution 'ProjectName'
Select Configuration Manager...
Change the platform of the project which you are trying to link .lib file to x64 from Win32 (or vise versa)
Rebuild the solution
This actually resolved my problem. I wasn't aware if my external lib is compiled for 32-bit or 64-bit.
Even I faced this type of errors in visual studio. The reason for these kind of errors are,
1) You might have included multiple libraries which are conflicting each other.
Sometimes,one class in a library can conflict other class in other library.
2) You might have included libraries from directories. Check the path of the libraries once again.
3) You need to specify libraries and header files (if you have to include) in the project properties. Check once again whether the paths are correct.
We have an app in the appstore that works without any issues on iPhone 4g/4gs but when I tested it on an iPod I got a surprise because it crashes all the time at "random" places. Looking at the strack traces it seems my viewcontrollers have been GC'ed.
Will the viewcontroller be garbagecollected if I write methods like this:
public void PushShowTeamController (Object a)
{
var teamController = new TeamController (a);
NavigationController.PushViewController (teamController, true);
}
Because the iPod suddently throws an error like this:
Jan 6 18:52:09 unknown MyApp[5197] <Warning>: Received memory warning.
Jan 6 18:52:10 unknown UIKitApplication:mypackage.app[0x9db2][5197] <Notice>: Unhandled Exception: System.Exception: Selector invoked from objective-c on a managed object that has been GC'ed ---> System.MissingMethodException: No constructor found for MyApp.TeamController::.ctor(System.IntPtr)
Jan 6 18:52:10 unknown UIKitApplication:mypackage.app[0x9db2][5197] <Notice>: at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
Jan 6 18:52:10 unknown UIKitApplication:mypackage.app[0x9db2][5197] <Notice>: at System.Activator.CreateInstance (System.Type type, System.Object[] args, System.Object[] activationAttributes) [0x00000] in <filename unknown>:0
Jan 6 18:52:10 unknown UIKitApplication:mypackage.app[0x9db2][5197] <Notice>: at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <filename unknown>:0
Jan 6 18:52:10 unknown UIKitApplication:mypackage.app[0x9db2][5197] <Notice>: at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr klass) [0x00000] in <filename unknown>:0
Jan 6 18:52:10 unknown UIKitApplication:mypackage.app[0x9db2][5197] <Notice>: --- End of inner exception stack trace ---
This will happen when an managed object is disposed (when no reference is left to an instance) and the object is later resurfaced by native code.
You need to ensure that a reference to MyApp.TeamController is kept in managed code as long as it can be required (e.g. accessed) by native code.
In most case MonoTouch will ensure a reference is kept. Your code:
NavigationController.PushViewController (teamController, true);
is correct and UINavigationController will keep a reference to your teamController. However if you call PushViewController on another controller then the first reference will be overwritten and will be collectable by the garbage collector (GC). This situation would lead to the exception you are seeing.
Note: because you can't predict when the GC will collect unreferenced object instance the exception will appear to be thrown randomly.
From my experience this happens when i use a lot of dispose() on managed objects instead of setting them to null and leaving the GC to do its job. Also anonymous delegates combined with dispose() can lead to such problems