在Qt嵌入式make期间对QIconvCodec的未定义引用?

时间:2013-06-11 17:27:29

标签: qt ubuntu qt4 installation

我正在尝试根据these instructions使用虚拟帧缓冲区配置我的Qt for Embedded Linux。从Qt for Embedded源文件夹,我正在尝试:

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

我收到以下错误,导致我无法执行make install

.obj/release-shared-emb-x86/qtextcodec.o: In function `setup()':
qtextcodec.cpp:(.text+0x23cc): undefined reference to `QIconvCodec::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

如果我这样做:

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

......这很有效。但是当我进入QtCreator时,工具>选项>建设与发展运行> Qt版本,我尝试为Qt Embedded选择qmake(对我而言,它在/home/cstjean/qt/bin/qmake),它告诉我:

Qt version is not properly installed, please run make install

我试着像疯了一样搜索这个。下载各种库有很多建议,我试过没有用,但也许我错过了一些东西,因为这是我正在使用的Ubuntu的全新安装。

感谢。

1 个答案:

答案 0 :(得分:0)

我通过安装Gnome并从头开始为我的Qt Embedded for Linux安装解决了这个问题。

我用Google搜索gnome for ubuntu 12.04并找到了these instructions。您必须查看您拥有的Ubuntu版本并搜索当然。您可以通过在命令行中输入来查看您拥有的版本:

lsb_release -a

安装gnome之后,我重新启动计算机并使用Gnome登录。

然后我完全卸载并删除了Qt Embedded的所有痕迹:

cd yourQtEmbeddedDir
sudo make uninstall
cd ..
rm -r yourQtEmbeddedDir sourceFileTarYouHadDownloaded.tar.gz

我重新加载了Qt Embedded for Linux的源文件tar(来自here),并在从tar中提取源文件后继续根据these instructions进行安装:

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

现在,如果您从此安装中告诉QtCreator qmake,那么QtCreator将不再抱怨安装错误!塔达!

注意:如果您正在尝试执行Virtual Framebuffer业务,那么这不是结束。你需要安装Qt for X11才能编译qvfb。

长话短说:如果你想在Ubuntu上安装带虚拟帧缓冲的Qt Embedded for Linux,你需要Gnome!