From: Earnie <ea...@us...> - 2011-08-24 12:01:14
|
Greg Chicares wrote: > On 2011-08-24 10:14Z, H Xu wrote: >> >> 2. libreadline is built with in bash, why do we still need to build it? > > Because bash's libreadline uses the MSYS runtime dll, and your program > uses the msvc runtime. Both provide functions like fread(), with > different semantics; if you mix them together, then how would the > linker know which one to call? Sarcastic questions are my favorite communication method. It is almost sad that we've enabled laziness by providing binary packages. We should go back to the days where source is all you had. But tools have evolved because we like laziness and repetitive operations are what computers are good for. Greg is correct, you are building a native binary that requires MSVCRT.DLL and not MSYS-1.0.DLL. These are two very different C runtimes and you cannot mix them. Memory violations will be the least of your worries if you do. -- Earnie -- http://www.for-my-kids.com |