Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
i just tried replacing all __stdcall on my example by __fastcall, and rebuilt the test library, re-made the .def / .delayed.a etc. Then the main executable can link against the library (Although, the .def looks exactly the same to me...), but it crashes when trying to call the dll object (My deb

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
Well... Bummer. In the latest version of the Toto test project, i was actually using __stdcall. But still... This is from TotoLib.h: #ifndef TotoLib_h #define TotoLib_h #include "TotoLib_Global.h" class TotoLibOpt TotoLib { public: /**/ TotoLibOpt __stdcall TotoLib(); }; #endif This

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
> No, your code is requesting versions wothout @nn, but gendef is actually > finding that the functions are adjusting the stack before returning > (fastcall or stdcall). gendef can't tell the difference between @0 and > cdecl though since they look the same. > You should tell the compiler which cal

Re: [Mingw-w64-public] Linking directly to DLLs on windows.

2012-04-18 Thread JonY
On 4/19/2012 00:16, MARTIN Pierre wrote: >> Nope, as long as it is in C++, there is no guarantees that it will work >> with a different compiler. What you could do is to thunk the code via a >> C bridge from the MSVC side. >> eg for Simple C++: >> rettype C_Shutdown(unsigned long a){ >> return Shu

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread JonY
On 4/19/2012 02:42, MARTIN Pierre wrote: > i just put the Toto test project on my mac, and compiled it. It works when > using -lazy-lTotoLib as well as when using -lTotoLib. > And if i compile TotoApp using -lazy-lTotoLib and add a debug message in the > main right before the library will get loa

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
i just put the Toto test project on my mac, and compiled it. It works when using -lazy-lTotoLib as well as when using -lTotoLib. And if i compile TotoApp using -lazy-lTotoLib and add a debug message in the main right before the library will get loaded, the binary executes without dependencies pr

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
Oh and in the test "Toto" project, if i add --assume-stdcall to gendef for creating the delayload lib for TotoLib, i get linker error on TotoApp: 20:31:13: Starting: "C:\MinGW\mingw-w64\bin\mingw32-make.exe" C:/MinGW/mingw-w64/bin/mingw32-make.exe -f Makefile.Debug mingw32-make.exe[1]: Entering

Re: [Mingw-w64-public] gcc-4.6.3 released!

2012-04-18 Thread Antony Riakiotakis
This looks extremely interesting. I will check this out for certain :) -- Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring to

Re: [Mingw-w64-public] Linking directly to DLLs on windows.

2012-04-18 Thread MARTIN Pierre
> Nope, as long as it is in C++, there is no guarantees that it will work > with a different compiler. What you could do is to thunk the code via a > C bridge from the MSVC side. > eg for Simple C++: > rettype C_Shutdown(unsigned long a){ > return Shutdown(a); > } > and for class/members > rettype

Re: [Mingw-w64-public] Linking directly to DLLs on windows.

2012-04-18 Thread JonY
On 4/18/2012 23:32, MARTIN Pierre wrote: > JonY, you see perfectly right. > >> Please check the DLL with gendef, see if the functions are mangled. Do >> you see ShutDown or something that begins with a '?'? >> If the former, you are likely missing extern "C" declarations when you >> included your

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread JonY
On 4/18/2012 23:26, MARTIN Pierre wrote: >> Are you building RELib? It should only be used when building it, not >> when using it. I have no idea what Q_DECL_EXPORT is, you'll need to give >> more information. > i am (It is one of the many binaries i maintain). i only use RELib when > building it

Re: [Mingw-w64-public] Linking directly to DLLs on windows.

2012-04-18 Thread MARTIN Pierre
JonY, you see perfectly right. > Please check the DLL with gendef, see if the functions are mangled. Do > you see ShutDown or something that begins with a '?'? > If the former, you are likely missing extern "C" declarations when you > included your vendor headers. > If the latter, the vendor DLL i

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
> Are you building RELib? It should only be used when building it, not > when using it. I have no idea what Q_DECL_EXPORT is, you'll need to give > more information. i am (It is one of the many binaries i maintain). i only use RELib when building it of course. About the Q_DECL_EXPORT macro, it get

Re: [Mingw-w64-public] Linking directly to DLLs on windows.

2012-04-18 Thread JonY
On 4/18/2012 21:53, MARTIN Pierre wrote: > Hello dear list readers, > > This topic is a whole new one, this is on purpose, and i'd like to solve this > in parallel with the other one (Delay-loading my libraries). > In this one, it is more about loading third-party DLLs directly in my > projects.

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread JonY
On 4/18/2012 21:44, MARTIN Pierre wrote: > JonY, > >> I checked it against your def file, looks like it's >> __ZNK2RE6Engine13loadedPluginsEv@4, not >> __ZNK2RE6Engine13loadedPluginsEv, I'm not sure how non-delay lib is >> linking successfully. > Thank you very much for digging further into this i

[Mingw-w64-public] Linking directly to DLLs on windows.

2012-04-18 Thread MARTIN Pierre
Hello dear list readers, This topic is a whole new one, this is on purpose, and i'd like to solve this in parallel with the other one (Delay-loading my libraries). In this one, it is more about loading third-party DLLs directly in my projects. The DLLs i would like to use from my project (And i'

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
JonY, > I checked it against your def file, looks like it's > __ZNK2RE6Engine13loadedPluginsEv@4, not > __ZNK2RE6Engine13loadedPluginsEv, I'm not sure how non-delay lib is > linking successfully. Thank you very much for digging further into this issue JonY. > Did you use the proper call declarati

Re: [Mingw-w64-public] gcc-4.6.3 released!

2012-04-18 Thread niXman
As I promised, the mingw-builds project[1] moved to sf.net[2]. The project provides the multilib-MinGW (target i686, x86_64) builds for i686, x86_64 hosts. For each build are also provided the sources[3]. Scripts and patches are also available[4]. Each build contains licenses of subprojects and bui

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread JonY
On 4/18/2012 20:37, MARTIN Pierre wrote: > Dear JonY and dear users, > > i have found another weird clue to my problem. > > i just have tried to compile another program of our project that uses the > same library we are talking about. > When linking against the libRELibrary.a, everything is swel

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
Dear JonY and dear users, i have found another weird clue to my problem. i just have tried to compile another program of our project that uses the same library we are talking about. When linking against the libRELibrary.a, everything is swell. But when linking against the delay-loaded version,

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
Dear Kai, > Well, that it is a bug in delayed-load code might be, but I wouldn't > assume so. it might be more related to the issue of exporting > variables (in C++ things like vtables, etc are variables). All right, but in this case why is my library working in non-delayed mode? If it was relat

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread MARTIN Pierre
Dear JonY, > OK, so linking and running works if done without delay loading? If so, > it might be a bug in the delay loading code. Ok. Would you help me to solve it in the source code if it is so? > For the linker command, show both. Ok. Here you go: 1) This is the linker command used when compil

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread Kai Tietz
Hello, Well, that it is a bug in delayed-load code might be, but I wouldn't assume so. it might be more related to the issue of exporting variables (in C++ things like vtables, etc are variables). As you describe that linking works, but startup simply does nothing, it might be interesting to see

Re: [Mingw-w64-public] Linking against delay loaded libraries.

2012-04-18 Thread JonY
On 4/18/2012 09:38, MARTIN Pierre wrote: > Dear JonY, dear list readers, > >> Try using gendef -a, also, try using regular non-delay lib as a test. > if i compile my library and then generate the .a with a def from gendef with > the > --assume-stdcall option, then i'm unable to link against my l