People,<br><br>you may have seen me on IRC discussing the building of amarokplasmalib in MSVC. I don't actually want to obtain anything that can execute, I just want to use MSVC's call mapping tools to analyse the dependencies between different libraries. This requires that I be able to finish building objects properly.<br>
<br>I'm having trouble at compile time where I get "warning C4273: [some method call] : inconsistent dll linkage".<br><br>I've done some investigation into the issue but I've run into a wall and I'm appealing to anyone who is experienced this particular area. <br>
<br>In short : has anybody tried/managed to build parts of/complete apps in MSVC ? If so, would they agree to share some helpful tips to help me do the same ?<br><br>I know that this is about the call model that these methods are defined with ( __declspec(dllimport), __declspec(dllexport) ) and that what is needed is to set the appropriate compiler flags in order to get all the necessary #defines made by the preprocessor.<br>
<br>My investigations (and a tip from Saro) have led me to specify the following list of compile definitions :<br>MAKE_AMAROKPLASMA_LIB;<br>WIN32;<br>_WIN32;<br>_WINDOWS;<br>_CRT_NONSTDC_NO_DEPRECATE;<br>_SCL_SECURE_NO_WARNINGS;<br>
QT3_SUPPORT;<br>QT3_SUPPORT_WARNINGS;<br>QT_DLL;<br>KDE_FULL_TEMPLATE_EXPORT_INSTANTIATION;<br>WIN32_LEAN_AND_MEAN;<br>UNICODE;<br>QT_NO_STL;<br>QT_NO_CAST_TO_ASCII;<br>_REENTRANT;<br>KDE_DEPRECATED_WARNINGS;<br>QT_STL<br>
<br>I'm still getting the errors.<br><br>I've tracked back a few of the #defines (#define KDE_EXPORT in kdemacros.h) to where they are defined but they in turn depend on the values of yet more #defines. It quickly gets very complicated and I've gotten stuck (like : what *should* the correct value for PLASMA_EXPORT *be* ?).<br>
<br>Before I get carried away and dive into some really extreme troubleshooting (eample : scatter something like <b>#pragma message ("_WIN32 is defined, going to define KDE_EXPORT and KDE_IMPORT in kdemacros.h")</b> everywhere in the code, I'm especially wary of #undefs<b> </b>), does someone out there have some information that would save me a massive amount of effort ?<br>
<br>Thanks in advance for any suggestions.<br><br>Cheers,<br><br>Michael<br>