Undefined reference to QIconvCodec during embedded make?



  • I'm trying to configure my Qt for Embedded Linux with a virtual framebuffer according to "these instructions":http://qt-project.org/doc/qt-4.8/qvfb.html. From the Qt for Embedded source folder, I'm trying:

    @./configure -embedded -opensource -confirm-license -verbose -qvfb
    make@

    I get the following error which prevents me from doing make install:

    @.obj/release-shared-emb-x86/qtextcodec.o: In function setup()': qtextcodec.cpp:(.text+0x23cc): undefined reference toQIconvCodec::QIconvCodec()'
    collect2: ld returned 1 exit status
    make[1]: *** [../../lib/libQtCore.so.4.8.4] Error 1
    make[1]: Leaving directory `/home/cstjean/qt/src/corelib'
    make: *** [sub-corelib-all-ordered] Error 2@

    If I do:

    @./configure -embedded -opensource -confirm-license -verbose -qvfb
    make -no-iconv
    sudo make install -no-iconv @

    ...This works. But when I go into QtCreator, Tools > Options > Build & Run > Qt Versions, I try to select qmake for Qt Embedded (for me it's in /home/cstjean/qt/bin/qmake) and it tells me:

    @Qt version is not properly installed, please run make install@

    I've tried googling this like crazy. There are a lot of suggestions to download various libraries, which I've tried to no avail, but perhaps I'm missing something because this is a pretty fresh installation of Ubuntu I'm using.

    If anyone had any suggestions, I'd appreciate it. Thanks.



  • I cross-posted this problem to StackOverflow and solved the problem myself. My answer can be found "here":http://stackoverflow.com/questions/17050177/undefined-reference-to-qiconvcodec-during-qt-embedded-make

    But to sum up my answer, you need Gnome if you're trying to install Qt Embedded for Linux with a Virtual Framebuffer on Ubuntu.

    Install Gnome for your version of Ubuntu, uninstall your previous Qt Embedded attempts, and reinstall Qt Embedded.

    Hope this helps!


Log in to reply
 

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