From: Charles W. <cwi...@us...> - 2010-10-11 21:47:43
|
On 10/11/2010 4:57 PM, Geof Sawaya wrote: >> You can't do what you want with that package. It is an MSYS build of >> libopts (and, it already provides a DLL version: the DLL is called >> msys-opts-25.dll) > > I tried to use the DLL, but it seems I ran into the 'enable-runtime-pseudo-reoloc-v2' problem: > > http://groups.google.com/group/comp.soft-sys.wxwindows/browse_thread/thread/2a63eef7c5b3e079 This is a misdiagnosis. Error 0xc0000005 means that a DLL "failed to initialize". When you try to load an msys dll into a process that is using a different C runtime library, bad things will happen. Like...the MSYS dll itself will be loaded incorrectly, and will fail to initialize. >> As an MSYS build, it uses the MSYS dll to provides its C runtime needs; >> it does not (directly) use the microsoft runtime library. If you are >> trying to build a "windows" application, then you want a libopts that is >> built as a "native", not MSYS, library. We don't provide one. > > I realize it isn't the best way to do things, but isn't it possible > to statically link it all into a DLL I can call from a Windows program? > At least until I can work through a 'more native' build of libopts? No, it is not. The MSYS (and cygwin) runtime DLL reacts very poorly to being loaded or linked into a "native" program; the startup actions are all wrong, and other things are messed up. Don't do that. You really are going to have to build a native version of libopts. -- Chuck |