Thanks IOhannes, this is helpful and it explains why I was able to link to the newest Leap library on Windows for the ultraleap external - that one is in straight C.
That said, would it be worth my time to try and set up a Visual Studio project and build against the old C++ library there? I only have experience using VS with JUCE-generated projects so it would be a bit of a slog for me to try and set things up from a blank slate, but I'd be game if there's hope it'll work. I'm just trying to get this accessible to as many students as possible, and the old library offers tool and gesture tracking, which Leap has dropped in the new version.
On Tue, Jan 3, 2023 at 3:13 PM IOhannes m zmölnig zmoelnig@iem.at wrote:
Am 3. Jänner 2023 23:10:59 MEZ schrieb William Brent < william.brent@gmail.com>:
x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/leapmotion.o:leapmotion.cpp:(.text+0x411): undefined reference to `Leap::Frame::timestamp() const'
C++ is a fantastic language. Unfortunately it is not really standardised on the binary level, which basically means that you might not be able to use c++ libraries compiled with one compiler/linker with binaries created by another compiler/linker.
Now, clang kind of guarantees binary compatibility with g++ binaries, which pretty much covers the Linux & macOS worlds. Things are of course different on windows: you generally cannot mix&match MSVC libraries with GCC binaries (and vice versa), at least if c++ is involved.
Proprietary SDKs often provide MSVC libraries.
So if possible, try to use a C-library instead of a C++-library on windows.
mfg.sfg.jfd IOhannes
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev