[CM] oscpack working!

Heinrich Taube taube at illinois.edu
Thu Aug 8 13:44:02 PDT 2013


svn has oscpack working in Grace -- incredibly, it even seems to work on windows...i would really appreciate if a few kind people would help me by testing osc in/out using sc or pd or max, whatever. you can start with Help>Scheme>OSC example but if you have real data that would be even better,

since i refactored the code i also added some improvements over what was there -- in particular when you trace osc input or output I now display the full message contents in the Console, hopeful this will help you debug things.

to build Grace with oscpack all you do is
 
svn update
premake4 clean
premake4 --with-oscpack
make

when you do 'make' it will automatically download the sources for oscpack, just like sndlib and juce.  (if you build on windows see my updated comments in readme.text)

i had one small problem on linux that maybe someone can explain:  the first time i called 'make' it seemed like it worked (everything compiled)  but then when things linked i got

[…]

Linking Grace
obj/Grace/Debug/OscPack.o: In function `IpEndpointName':
/home/hkt/Software/cm/oscpack/ip/IpEndpointName.h:54: undefined reference to `IpEndpointName::GetHostByName(char const*)'
obj/Grace/Debug/OscPack.o: In function `osc::ReceivedBundleElementIterator::Advance()':
/home/hkt/Software/cm/oscpack/osc/OscReceivedElements.h:188: undefined reference to `osc::ReceivedBundleElement::Size() const'
obj/Grace/Debug/OscPack.o: In function `osc::ReceivedMessageArgumentIterator::operator++(int)':
/home/hkt/Software/cm/oscpack/osc/OscReceivedElements.h:301: undefined reference to `osc::ReceivedMessageArgumentIterator::Advance()'
obj/Grace/Debug/OscPack.o: In function `osc::OscPacketListener::ProcessBundle(osc::ReceivedBundle const&, IpEndpointName const&)':
/home/hkt/Software/cm/oscpack/osc/OscPacketListener.h:55: undefined reference to `osc::ReceivedBundleElement::IsBundle() const'
/home/hkt/Software/cm/oscpack/osc/OscPacketListener.h:56: undefined reference to `osc::ReceivedBundle::ReceivedBundle(osc::ReceivedBundleElement const&)'
/home/hkt/Software/cm/oscpack/osc/OscPacketListener.h:58: undefined reference to `osc::ReceivedMessage::ReceivedMessage(osc::ReceivedBundleElement const&)'
obj/Grace/Debug/OscPack.o: In function `osc::OscPacketListener::ProcessPacket(char const*, int, IpEndpointName const&)':
/home/hkt/Software/cm/oscpack/osc/OscPacketListener.h:70: undefined reference to `osc::ReceivedPacket::IsBundle() const'
/home/hkt/Software/cm/oscpack/osc/OscPacketListener.h:71: undefined reference to `osc::ReceivedBundle::ReceivedBundle(osc::ReceivedPacket const&)'
/home/hkt/Software/cm/oscpack/osc/OscPacketListener.h:73: undefined reference to `osc::ReceivedMessage::ReceivedMessage(osc::ReceivedPacket const&)'
obj/Grace/Debug/OscPack.o: In function `UdpTransmitSocket':
/home/hkt/Software/cm/oscpack/ip/UdpSocket.h:140: undefined reference to `UdpSocket::UdpSocket()'
/home/hkt/Software/cm/oscpack/ip/UdpSocket.h:140: undefined reference to `UdpSocket::Connect(IpEndpointName const&)'
/home/hkt/Software/cm/oscpack/ip/UdpSocket.h:140: undefined reference to `UdpSocket::~UdpSocket()'
obj/Grace/Debug/OscPack.o: In function `UdpListeningReceiveSocket':
/home/hkt/Software/cm/oscpack/ip/UdpSocket.h:159: undefined reference to `UdpSocket::UdpSocket()'


then i did 'make' again the second time it worked , and I'm not sure why…I'm not linking to an ospack library, I'm simply incorporating oscpack sources in to project, I'm wondering if the order of oscpac .o files in the linking line matters? if if does i don't know why it works on osc and windows.




More information about the Cmdist mailing list