[Kmymoney-devel] import libraries

Alvaro Soliverez asoliverez at kde.org
Thu Mar 6 11:55:49 UTC 2014


Why are you building AqBanking? It's not a required dependency, and I
don't think you'll need it for what you intend to do.

On Thu, Mar 6, 2014 at 8:52 AM, Chris <DeveloperChris at rebel.com.au> wrote:
>
>
> 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
>>
>
> _______________________________________________
> KMyMoney-devel mailing list
> KMyMoney-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kmymoney-devel


More information about the KMyMoney-devel mailing list