- Home /
How to use Yeppp! in Unity?
I'm currently trying to use Yeppp! (which promises SIMD-instructions to be usable in C#, thus offering potentially huge improvements in terms of speed). According to the site (http://docs.yeppp.info/cs/index.html), all that needs to be done is include the yeppp-clr.dll, after which you are ready to use Yeppp! within C#.
I've put the dll in "assets", which is normally enough to use dll's within Unity. However, whenever I run the code (in which I call a function from the dll), I get the error "DllNotFoundException; yeppp". This is strange, because inside MonoDevelop, I do get function-suggestion, so MonoDevelop knows that the dll exists and is aware of its contents.
I've been trying to solve this problem for hours. So my question is; Can anyone get Yeppp! to work within Unity and tell me what I did wrong (the files needed can be downloaded for free at the site I just mentioned)?
Thanks in advance and please mention if you need more information, I will be happy to provide it.
I'm seeing the same error. Unity is running a slightly older, slightly modified build of the $$anonymous$$ono runtime. Could be that the DLL isn't compatible with it.
Answer by Marat Dukhan · Oct 17, 2013 at 05:35 PM
Using Yeppp! with CLR languages involves two library binaries: platform-specific Yeppp! library with C interface (`yeppp.dll`, libyeppp.so
, or libyeppp.dylib
) and platform-independent CLR wrapper (`yeppp-clr.dll`). Your problem is likely related to the former: Unity fails to find platform-specific binary.
Probably the easiest way to solve the problem is to copy the proper platform-specific binary to the same directory as your executable file. Another option is to add the directory with platform-specific binary to PATH variable (on Windows), LD_LIBRARY_PATH variable (on GNU/Linux and Android), or DYLD_LIBRARY_PATH variable (on Mac OS X).
Hmm, I still can't get it to work. Tried multiple paths (putting the libyeppp directly with the yeppp-clr, keeping the path the same; "macosx/x86/libyeppp.dylib" and at least a couple dozen others), but still the same error.
Can anyone else get it to work and give exact instructions?
(PS: I'm using $$anonymous$$ac OS, maybe someone with Windows can try)