Menu

Unrdefined symbols

Help
2004-10-27
2012-12-06
  • Nobody/Anonymous

    This is what I get when I try to run attal-client and all the editors, server and ai starts fine. I have QT version 3.2.1. From what I read this should be fine coz attal requires >=3.2. Or did something changed recently?

    ./attal-client: relocation error: ./libAttalClient.so.4: undefined symbol: _ZN13QWindowsStyle6polishER8QPalette

    I'd really like to check out this game, coz I have been sucked in by HofM&M3 recently and was curious about open-sourced clones.

     
    • Nobody/Anonymous

      Maybe it lack the package QWindowsStyle in Debian?
      BTW, attal is not a clone and will be in the future more original :)

      C.

       
    • Audoux

      Audoux - 2004-10-28

      yes, it seems that the pb is that you use a distribution where qwindowsstyle is a plugin and not included in the qt library... and the binary are made for a qt lib where qwindowsstyle is included and not a plugin...
      2 solutions:
      - if you are under Debian, the best is not to use the packages on sourceforge but directly use apt-get for using Debian package!! (idem if you are under Gentoo)
      - Otherwise, I think you have to recompile qt for including qwindowsstyle or recompile attal for using qt with qwindowsstyle as plugin (we provide some help files with some info on how to do - especially in comments of config.pro)

      If it doesn't work, come back here :)

      (and please don't say we are a mere clone of HOMM3 or some developpers will become angry :-))

       
      • Nobody/Anonymous

        I use Slackware 9.1, I downloaded attal sources and created devel.pro containing following lines:
        DEFINES += QT_PLUGIN
        LIBS += -lqwindowsstyle

        It starts compiling and after a while I get this error:

        g++ -c -pipe -Wall -W -O2 -fPIC  -DQT_PLUGIN -DQT_NO_DEBUG -I/usr/lib/qt-3.2.1/mkspecs/default -I. -I.. -I/usr/lib/qt-3.2.1/include -o genericMapDisposition.o genericMapDisposition.cpp
        genericMapDisposition.cpp: In member function `void
           GenericMapDisposition::resize(unsigned int, unsigned int)':
        genericMapDisposition.cpp:106: `min' undeclared in namespace `std'
        genericMapDisposition.cpp:107: `min' undeclared in namespace `std'
        make[1]: *** [genericMapDisposition.o] Błąd 1

        I don't really know C++ but if std::min() means what I think than there's something weird with my system :) Oh, I use gcc 3.2.3.

        So compiling attal is not an option right now. I'll try to play with QT, I'll check the newest package and if that won't work I'll try compiling it (that's ganna be painfull).

        And sorry for the HOMM3 clone, it's just the first thought that crossed my mind after seeing screenshots. And I really am curious how attal plays. Hope I'll be able to satisfy my unholy urge to play this ;)

         
        • Nobody/Anonymous

          Ok, I added following lines to the infriging file:

          #include <algorithm>
          using std::min;
          using std::max;

          It helped, but guess what?

          /ld: cannot find -lqwindowsstyle
          collect2: ld returned 1 exit status

          So I guess this deal with qwindowsstyle comes back after all.
          locate qwindowsstyle
          doesn't find anything except *.html *.h and man page.

           
        • Nobody/Anonymous

          Ok, this is starting to get on my nerves. After last error (with linking qwindowsstyle) I removed those lines from devel.pro, and compilation went well for a while, then I got following error:

          g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/lib/qt-3.2.1/mkspecs/default -I. -I.. -I/usr/lib/qt-3.2.1/include -o serverInterface.o serverInterface.cpp
          serverInterface.cpp: In member function `void ServerInterface::addAI()':
          serverInterface.cpp:279: `fork' undeclared (first use this function)
          serverInterface.cpp:279: (Each undeclared identifier is reported only once for
             each function it appears in.)
          serverInterface.cpp:284: `execl' undeclared (first use this function)

          This one got resolved by adding

          #include <unistd.h>

          to serverInterface.h. Compilation is still going as I write this, so we'll see if that's the last problem.

           
        • Nobody/Anonymous

          Well, it went ok, no more surprises. It works now.

           

Log in to post a comment.