Re: IMPORTANT - PLEASE HELP! Re: plugins, build fails with unresolvedexternal symbols

From: Mike Nordell (
Date: Sun Apr 21 2002 - 23:55:51 EDT

  • Next message: Martin Sevior: "Re: Next Generation Containers."

    Martin Sevior wrote:

    > Please folks, anyone with a clue (especially windows developers) look at
    > Jeremey's build logs and find out how to fix the plugins.

    It seems that the plugins are accessing data that is not defined. F.ex.
    GR_Graphics::s_iScreenResolution that is defined in AW "core".

    I can only think of three possible solutions:

    1) compile/link-in some private parts of AbiWord into that plugin (such as
    the graphics class) to get the definition of the referenced symbols. This
    would create different instances and possibly definitions of the same
    data/functions. Bad.
    2) Create virtual accessor functions for those symbols.
    3) Export them from the .exe (simply not an option IMO).

    For a QnD fix it could probably be solved by linking with libAbiGr_s.lib.

    How does this work on non-Win32? Does the AW executable on non-Win32
    platforms export a bunch of names or does these plugins link with the AW
    graphics lib?

    Speaking of exporting, it seems AbiWord.exe is currently exporting a bunch
    of XML_Xxx functions due to the assumption in expat that "If we build on
    windows we only support creating/using a DLL". I really can't imagine this
    is intentional.

    > We should really announce ASAP but we also really need those Windows
    > plugins. Especially aiksaurus.

    A heder file from that plugin has some serious problems. It's not exatly
    news that "using namespace std;" in a header file is such a bad idea that
    it's in reality forbidden, but win/AiksaurusApp.h happily disregards this.
    Besides, didn't we have a policy to not use C++ templates, or is that just
    for the "core" of AW?

    /Mike - please don't cc

    This archive was generated by hypermail 2.1.4 : Sun Apr 21 2002 - 23:58:25 EDT