[Kmymoney-devel] import libraries
Chris
DeveloperChris at rebel.com.au
Thu Mar 6 11:52:10 UTC 2014
I am switching to vs2010 to see if it compiles
The problem appeared when I moved from kmymoney 4.6.1 to 4.6.4
I was wrong the tools I used only showed the exports that did not have the
_imp__ prefix. When I used the nm tool it showed the functions were exported
with both no prefix and and prefixed with __imp__ which has an extra underscore.
What is odd is although I did need to recompile both qt and kdelibs there
was no changes to those libraries which implies that the change was in kmymoney
Late Breaking news!
It looks like mingw decides whether to use __imp__ or _imp__ based on an
environment variable or gcc -D(efine) More than likely this changed between
build runs.
I found some pertinent macros in mac.h. but havent yet fully worked out
where the error crept in.
Its never easy is it :)
Something New:-
I am also having trouble compiling aqbanking. for some reason the
win32libs-source folder was completely removed
I asked on the kdewin mailing list but no response. I'll pull in the git
branch 4.9 and check it out from there hopefully that will work...
DC
On 6/03/2014 12:10 AM, Ralf Habacker wrote:
> On 05.03.2014 12:15, Chris wrote:
>> When compiling kmymoney 4.6.4 on windows it appears my imports and
>> exports are somehow out of sync
>>
>> I get a huge number of unresolved references as I have previously
>> mentioned.
>>
>> It appears the problem is that the libraries are built without the
>> windows specific "_imp__" on the exports
> which would means it has been build without __declspec(dllexport).
> Normally exported classes have a class <library_name>___EXPORT
> <classname> ...
>> but when I am compiling kmymoney the linker is expecting the "_imp__"
>> + mangled name
> which means the public header of KLocale defines declspec(dllimport) on
> usage.
>> for example the linker is looking for
>> _imp___ZNK7KLocale28negativeMonetarySignPositionEv
>> but the export is called _ZNK7KLocale28negativeMonetarySignPositionEv
>> I assume I have to pass another flag or remove a flag from gcc to tell
>> it to look for the correct export. but I am not sure how to do this.
>>
>> Any pointers would be greatly appreciated.
> I would say the problem happens on compiling kdelibs.
> Ralf
>
More information about the KMyMoney-devel
mailing list