Henri Lesourd wrote:
Abdelrazak Younes wrote:

Henri Lesourd wrote:

You need to be able to capture this information in
the makefile. This is not infeasible, but still it's
one more thing to do.


No, I think you can probe the ABI of the dll at runtime.

Wow ! How ?

By stealing Qt's method :-) Or like Joseph recommended by asking the DLL to identify itself with a string. This string would contain information such as the compiler, the platform, etc and would be generated automatically at compile time with #ifdef.


As far as I know, e.g. under Windows, you can compile
a DLL with *ANY* compiler, and it is always supposed
to be loadeable an callable without any problems.


I don't think this is as easy as that, see below.

In case of C DLLs under Windows, I never heard about any
inter-compiler compatibility problems, ever.

As I said, I think the problems can be tricky and I experienced many times the so called 'dll hell'. I am not an expert so please take what say with a grain of salt.

Let's take a C toolkit, GTK, and imagine that TexMacs was compiled with MSVC7 using a MSVC7 compiled GTK. TeXMacs will thus use the msvcr80 C runtime. Imagine now that plugin A is compiled with Mingw's gcc and using a gcc compiled GTK. This plugin will thus use and need msvcrt. At this point, imagine that the plugin exchange a GTK object with TeXmacs... can't you see the beginning of problems?

Abdel.



_______________________________________________
Texmacs-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/texmacs-dev

Reply via email to