Well, things were working great until I tried to use something from AudioFile
. I'm getting link errors.
compile command:
/usr/local/opt/llvm/bin/clang++ --target=arm-linux-gnueabihf --sysroot=<host-machine>/xcBela/sysroot -isysroot <host-machine>/xcBela/sysroot -isystem <host-machine>/xcBela/sysroot/usr/include/c++/6.3.0 -isystem <host-machine>/xcBela/sysroot/usr/include/arm-linux-gnueabihf/c++/6.3.0 -L<host-machine>/xcBela/sysroot/usr/lib/gcc/arm-linux-gnueabihf/6.3.0 -B<host-machine>/xcBela/sysroot/usr/lib/gcc/arm-linux-gnueabihf/6.3.0 --gcc-toolchain=TOOLCHAIN/arm-linux-gnueabihf-binutils -I<host-machine>/xcBela/sysroot/root/Bela -I<host-machine>/xcBela/sysroot/root/Bela/include -I<host-machine>/xcBela/sysroot/usr/xenomai/include <host-machine>/xcBela/Bela/Core/default_main.cpp render.cpp -Wl,--no-as-needed -L<host-machine>/xcBela/sysroot/usr/local/lib -L<host-machine>/xcBela/sysroot/usr/xenomai/lib -L<host-machine>/xcBela/sysroot/root/Bela/lib -lcobalt -lmodechk -lpthread -lrt -lprussdrv -lstdc++ -lasound -lseasocks -lNE10 -lmathneon -ldl -latomic -l:libbelafull.a -o play-file
error:
/usr/local/bin/arm-linux-gnueabihf-ld: <host-machine>/xcBela/sysroot/root/Bela/lib/libbelafull.a(AudioFileUtilities.o): in function `AudioFileUtilities::getSamples(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float*, unsigned int, unsigned int, unsigned int)':
/root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:14: undefined reference to `sf_open'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:15: undefined reference to `sf_strerror'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:16: undefined reference to `sf_close'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:36: undefined reference to `sf_seek'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:39: undefined reference to `sf_read_float'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:48: undefined reference to `sf_close'
/usr/local/bin/arm-linux-gnueabihf-ld: <host-machine>/xcBela/sysroot/root/Bela/lib/libbelafull.a(AudioFileUtilities.o): in function `AudioFileUtilities::getNumChannels(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:57: undefined reference to `sf_open'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:61: undefined reference to `sf_close'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:58: undefined reference to `sf_strerror'
/usr/local/bin/arm-linux-gnueabihf-ld: <host-machine>/xcBela/sysroot/root/Bela/lib/libbelafull.a(AudioFileUtilities.o): in function `AudioFileUtilities::getNumFrames(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:70: undefined reference to `sf_open'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:74: undefined reference to `sf_close'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:71: undefined reference to `sf_strerror'
/usr/local/bin/arm-linux-gnueabihf-ld: <host-machine>/xcBela/sysroot/root/Bela/lib/libbelafull.a(AudioFileUtilities.o): in function `AudioFileUtilities::write(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float*, unsigned int, unsigned int, unsigned int)':
/root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:86: undefined reference to `sf_open'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:93: undefined reference to `sf_writef_float'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:96: undefined reference to `sf_close'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:103: undefined reference to `sf_strerror'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:89: undefined reference to `sf_close'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:90: undefined reference to `sf_strerror'
/usr/local/bin/arm-linux-gnueabihf-ld: /root/Bela/libraries/AudioFile/AudioFileUtilities.cpp:97: undefined reference to `sf_strerror'
Looks like the linker isn't finding libsndfile.XXX
which only exists in xcBela/sysroot/usr/lib/arm-linux-gnueabihf/libsndfile.XXX
, at least on my system.