WHY IS THIS DLL GIVING A "USERLIB NOT FOUND" ERROR
Blitz3D Forums/Blitz3D Programming/WHY IS THIS DLL GIVING A "USERLIB NOT FOUND" ERROR
| ||
.dll's, .decls, and .bb: http://www.leadwerks.com/post/newton.zip |
| ||
WHY ARE YOU SHOUTING |
| ||
Now that we are calm and peaceful, let's answer the question. dunno, maybe because the DLL doesn't export *a single* function named NewtonCreate... But that's just a wild guess you know. |
| ||
It doesn't matter. If that were the problem, it would say "userlib function now found". I can put any function I want in the .decls file, and if the DLL is there, there shouldn't be a "userlib not found" error. |
| ||
edited: bla bla bla... you'were right the other day, you're immensely funny, in some perverted kind of way. Specially the "LickMyAss" part below. No really. |
| ||
Idiot. Of course it will still be the same error, because Blitz isn't finding the DLL in the first place!.lib "user32.dll" LickMyAss() Run this. It will give a "Userlib function not found" error, because the DLL does not contain the function. I am getting a "Userlib not found" error, which is different. Blitz can't detect the DLL. |
| ||
Oh, and having an entry point might help too. Despite the error message it's likely that finding the DLL is not the problem, it just can't initialize it. But what do I know. And no, despite the subtil and very tempting invitation, I won't lick it. |
| ||
Now we are getting somewhere. |
| ||
YOU'RE WELCOME GENIUS |
| ||
I don't know if this might be causing a problem here (I haven't looked properly yet) but this is also worth bearing in mind: All functions MUST use the _stdcall calling convention. Oh and if I'm wrong don't even dare yell at me, or you'll be a step closer to getting your 'eyes knocked in' laddie... 'Englishman' style :P - (not all Europeans are pussified, as you so kindly put it) |
| ||
hahaha, you're alright. |
| ||
I looked with depends.exe(from the visual c++ toolkit) at the NDB.dll and it seems that the function names are heavily decorated eg: ?NDB_BodyActive@@YAHH@Z instead of ?NDB_BodyActive. Using a .def file and enclose all exported function names between extern "C" {...} should solve it. If you are using VC++ or something simular to build the NDB dll. |
| ||
I didn't write the DLL. :\ I am going to kill everyone. |
| ||
Yeah, kill that damn people that for some weird reason still try to help you, attempting to decipher your problem from your one line post that doesn't tell where's the DLL is coming from (nor, provided you know Newton, if it's the original DLL or some wrapper made by you). And incidentally, calling them "Idiot" for not wining at the first try at your guessing game. Also the fact you didn't write the DLL doesn't even mean you didn't build it and haven't access to the source. I love all your posts halo. BTW, I know I should be blamed for feeding the troll, but I was in the right mood for it :) |
| ||
normally when blitz gives that error, you need to save your file and place the dll in the same location as your source file. then blitz should be able to find the dll. this normally happens when you have a dll that calls another dll. |