Thanks for the extra explanation, that's helpful info. About the C API: yes I'm already using that one successfully on Windows to build my [ultraleap] external. And that API even works for both the Leap Motion and Ultraleap hardware, which is nice. Unfortunately, that API (LeapC) no longer supports gesture and tool tracking. That's why I'm bothering with the old C++ API - so that Windows users with a Leap Motion Controller can track gestures/tools in addition to hands.
On Tue, Jan 3, 2023 at 4:19 PM Christof Ressi <[email protected]> wrote: > To be more specific, the linker error itself is most likely caused by name > mangling differences. When you include the header file in your project, the > class/function definitions use *your *compiler's name mangling, but the > accompanying DLL has been built with *another *compiler, using a > different name mangling scheme. > > Seems like there is also a C API: > https://docs.ultraleap.com/tracking-api/leapc-guide.html > > 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. > > For the sake of completeness: yes, that's true for the typical case, but > there are techniques for creating binary compatible C++ interfaces. The > most prominent one is COM. Other examples that come to my mind are the VST3 > SDK or openvr SDK. > > On 03.01.2023 21:12, IOhannes m zmölnig wrote: > > Am 3. Jänner 2023 23:10:59 MEZ schrieb William Brent > <[email protected]> <[email protected]>: > > 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 > [email protected]https://lists.puredata.info/listinfo/pd-dev > > _______________________________________________ > Pd-dev mailing list > [email protected] > https://lists.puredata.info/listinfo/pd-dev > -- William Brent “Great minds flock together” Conflations: conversational idiom for the 21st century www.conflations.com
_______________________________________________ Pd-dev mailing list [email protected] https://lists.puredata.info/listinfo/pd-dev
