[SOLVED] Undefined symbol: _ZN9QlistData11detach_growEPii



  • Hi,

    I have developed a Qt application on Ubuntu machine which has Qt4.7 installed on it and I am using QStringList
    in my code.
    When I move output binaries to Suse11 Linux machine which has Qt 4.6.2 run time environment , I am getting the error as "Undefined symbol: _ZN9QlistData11detach_growEPii".

    Please let me know how we can get rid out of this problem.

    Regards
    Ashish



  • You cannot move the binaries! Especially if you know that the Qt version is different. You have to clean the project, (maybe run qmake, it won't harm), and rebuild it.



  • [quote]Qt is backwards binary and source compatible within each major release. This means that a program linked dynamically to e.g Qt 4.5.1 will continue running with Qt 4.5.3 without the need to recompile. Qt is not binary compatible between major versions such as Qt 2.x, Qt 3.x and Qt 4.x etc. Qt is also not forwards compatible, meaning that applications created with a newer version of Qt will not necessarily run or compile against older Qt versions.[/quote]



  • I have solved the prblem by rebuilding my project on lower version of QtSDK and it executed successfully.



  • If you gt a message like this, invoke "c++filt" with the undefined symbol. It will tell you the plain C++ name of the symbol. Usually, that is much easier to understand:

    c++filt _ZN9QlistData11detach_growEPii


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.