This is the mail archive of the
mailing list for the GCC project.
Why GCC needs a dll image to compile my other dll?
- From: john Stone <profesor dot fir at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Sat, 4 Nov 2017 19:19:54 +0100
- Subject: Why GCC needs a dll image to compile my other dll?
- Authentication-results: sourceware.org; auth=none
I got some dll project that i compile to dll (say it is a.dll) I also
got other dll project that i also compile to dll (say it is b.dll)
(both dlls calls each other)
I got one quite serious problem:
When i compile a.dll i need b.dll image to be present on disk,
otherwise it will not compile.. If i mistakenly delete both images im
in dark cyclic hell and i cant compile none of them (then, to resolve
it, i must comment outdependencies - compile - uncomment - compile -
etc.. which is very very annoying)
(and i may mistakenly delete both easily, i just need to call script
that compiles both a and b; when there is simple compile error in a
then it will be deleted, then call to compile b will not compile too,
and now b is also deleted and now i got real trouble)
The question is mainly:
Why GCC (i use gcc5/mingw) need those dll images at all - I know that
to compile dll i just need to build import section which just need dll
module name and symbol names provided, dll image should be not needed)
Can i 'off' this need for dll image and recompile projest without it ?
(also i dont want to use so called import libraries, as those are
almost the same as dll only a bit more burden to make it)
(additional: 3,. Is this cyclic hell wide known thing?, how to resolve
it? (i may add i dont want to add full dynamic linkn by GetProcAdress
i need static like liniking only without mentioned troubles)
(sorry for weak english)