[Webkit-unassigned] [Bug 91375] New: [Qt] Fix inconsistent DLL linkage on Windows with WebKit1

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 16 04:47:18 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=91375

           Summary: [Qt] Fix inconsistent DLL linkage on Windows with
                    WebKit1
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Platform
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: hausmann at webkit.org
            Blocks: 88300


Linking on Windows fails:

        link /LIBPATH:"c:\dev\qt5\qtbase\lib" /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /DLL /MANIFEST /MANIFESTFILE:"obj/release\QtWebKit.intermediate.manifest" /VERSION:5.00 /OUT:..\lib\QtWebKit5.dll @C:\Users\SIMONH~1\AppData\Local\Temp\nmE740.tmp
   Creating library ..\lib\QtWebKit5.lib and object ..\lib\QtWebKit5.exp
WebKit1.lib(DumpRenderTreeSupportQt.obj) : warning LNK4217: locally defined symbol ?core at QWebHistoryItemPrivate@@SAPAVHistoryItem at WebCore@@PBVQWebHistoryItem@@@Z (public: static class WebCore::HistoryItem * __cdecl QWebHistoryItemPrivate::core(class QWebHistoryItem const *)) imported in function "public: static bool __cdecl DumpRenderTreeSupportQt::isTargetItem(class QWebHistoryItem const &)" (?isTargetItem at DumpRenderTreeSupportQt@@SA_NABVQWebHistoryItem@@@Z)
WebKit1.lib(DumpRenderTreeSupportQt.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QWebHistoryItemPrivate::QWebHistoryItemPrivate(class WebCore::HistoryItem *)" (__imp_??0QWebHistoryItemPrivate@@QAE at PAVHistoryItem@WebCore@@@Z) referenced in function "public: static class QMap<class QString,class QWebHistoryItem> __cdecl DumpRenderTreeSupportQt::getChildHistoryItems(class QWebHistoryItem const &)" (?getChildHistoryItems at DumpRenderTreeSupportQt@@SA?AV?$QMap at VQString@@VQWebHistoryItem@@@@ABVQWebHistoryItem@@@Z)
WebKit1.lib(qwebhistory.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QWebHistoryItemPrivate::QWebHistoryItemPrivate(class WebCore::HistoryItem *)" (__imp_??0QWebHistoryItemPrivate@@QAE at PAVHistoryItem@WebCore@@@Z)
WebKit1.lib(FrameLoaderClientQt.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QWebHistoryItemPrivate::QWebHistoryItemPrivate(class WebCore::HistoryItem *)" (__imp_??0QWebHistoryItemPrivate@@QAE at PAVHistoryItem@WebCore@@@Z)
WebKit1.lib(qwebhistory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QWebHistoryItemPrivate::~QWebHistoryItemPrivate(void)" (__imp_??1QWebHistoryItemPrivate@@QAE at XZ) referenced in function "public: void * __thiscall QWebHistoryItemPrivate::`scalar deleting destructor'(unsigned int)" (??_GQWebHistoryItemPrivate@@QAEPAXI at Z)
..\lib\QtWebKit5.dll : fatal error LNK1120: 2 unresolved externals

QWebHistoryItemPrivate is marked with Q_AUTOTEST_EXPORT. However that macro only works for libraries inside of Qt - we choose not to define things like QT_BUILDING_QT and QT_BUILD_INTERNAL.

We could introduce our own Q_AUTOTEST_EXPORT macro or we could simply export this one class that exists only in a private header file only. I'm going to take the latter approach.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list