hey Kyle - I gave it a go today but had similar results.
What I realized today is that the names in the def file are not in the correct format for mingw to recognize.
I saw somewhere that you can put at the bottom of the def file
myFuncAsMingGWExpectsIt=myFuncAsListedInDefFile and that can help point the compiler to the equivilant functions.
The function for example __imp___ZN10IPS3EyeLib6CreateEv is clearly the Create function in the def file - but the name mangling is so much that they seem completely different.
Still because it is C++ and not C it could be possible the MSVC symbols are not accessible from mingw.
in the past, when I’ve ran into this problem, I’ve written a library in c or smartly in c++ compiled from VS (maybe with some compatability flags, etc) that wraps the library that you can’t bring into mingw. I can’t remember all the steps that make it work, but I know that it’s possible and it might prove to be a quick solution if the library doesn’t have too many functions.
Theo – thanks for giving it a shot, I saw some similar things but didn’t totally understand what it meant.
Zach – I mentioned this possibility to Theo, but I don’t think either of us knew you could compile from VS for GCC? I’ll have to read up on those flags. There are only a few functions that need to be wrapped, so it would be a great solution.
when I have a chance, I’ll try to dig up and see how I did it. I dont’ think it was too complicated, but took a bit of poking around to find the right way to wrap what I needed.
I have IPS3EyeLib.h in the “Header Files” folder, and the build configuration specifies DLL as the configuration type and PS3EyeLib.lib as an additional dependency (under Linker>Input). When I build, it spits out a 27 KB DLL (the PS3EyeLib DLL is 15 KB). When I run pexports on the resulting DLL, I don’t see anything. Verbose mode yields only:
I’m kind of stuck, and can’t see what’s wrong. As far as I can tell, the MSVC project is creating a nice DLL for me that’s a reasonable size, but pexports doesn’t see any of the symbols I would expect to see.