ocaml / flexdll

a dlopen-like API for Windows
Other
97 stars 30 forks source link

Linking dlls? #56

Closed houndofsound closed 6 years ago

houndofsound commented 6 years ago

I have two problems in trying to resurrect the wxwidgets ocaml binding.

  1. In trying to get flexdll to see a wx dll the -explain shows it not being visited at all. I'm too thick to understand whether flexdll is meant to only create a dll or whether it actually incorporates dependencies on others. It appears not though Gnu ld on my cygwin system does!

  2. Some missing symbol errors including:

ZTVN10cxxabiv117__class_type_infoE

Which should have been taken care of by -lstdc++ But -explain shows it picking up libstdc++.dll.a which contains an indirection mark I for that symbol but doesn't look at libstdc++.a which has an R mark for it, meaning in the read-only section. What's going on?!

dra27 commented 6 years ago

Could you try using flexlink.exe built from https://github.com/alainfrisch/flexdll/pull/48 instead?

dra27 commented 6 years ago

Regarding the first question (which I'm sure you're not being thick about!) I'm not certain, but I think that the symbols of dependencies don't affect linking - that's part of the DLL loading.

houndofsound commented 6 years ago

That did it :) (Again? I was running with 0.34 - I think in relation to another issue I opened (but cannot locate) the latest didn't work for me - ho-hum) Thanks!

dra27 commented 6 years ago

Excellent - we have a plan for a push on flexdll issues in the coming months, so hopefully this will get to an official release soon.