天嵌 ARM开发社区

 找回密码
 注册
查看: 4581|回复: 5

菜鸟使用ubuntu系统下apps的qt源码编译问题···

[复制链接]
Wesson 发表于 2013-4-21 11:36:43 | 显示全部楼层 |阅读模式

                            图1
如图1,相关工具已经按手册安装在/opt/Embedsky目录下·····
app的qt源码包放在图1的TQ210目录下,TQ210目录下的210pro即源码包目录,TQ210里内容如下图2

                            图2
在ubuntu中打开eclipse软件,按手册说明打开源码包中的第二个源码即TQCamera_210,在eclipse中如下图3


                         图3
然后eclipse中设置Preference为下图4

                        图4
再回到图3,点击Project中的Build Project后出现了如图3下方的错误:

**** Build of configuration Default for project TQCamera_210 ****
make all
make: *** 没有规则可以创建“Makefile”需要的目标“../../qt-4.5/__install/arm/mkspecs/default/qmake.conf”。 停止。

查看了下源码中的Makefile文件并找到qmake.conf一行·····如下图4



                              图4
qmake.conf一行意思是要找到qmake.conf ../../qt-4.5/__install/arm/mkspecs/common/g++.conf \
  ../../qt-4.5/__install/arm/mkspecs/common/unix.conf \
  ../../qt-4.5/__install/arm/mkspecs/common/linux.conf \
  ../../qt-4.5/__install/arm/mkspecs/common/qws.conf \
  ../../qt-4.5/__install/arm/mkspecs/qconfig.pri \
  ../../qt-4.5/__install/arm/mkspecs/features
几个文件,并且是使用相对路径,猛然想到路径问题,根据../..路径推算了一下,果然差了一级目录,难怪出错,直接将源码放在TQ210目录下,即原先为.../TQ210/210pro/..改为...../TQ210..将中间一级210pro去掉了。重新打开工程源码,再在eclipse中编译TQCamera_210工程源码,原先的错误没了,说明改对了,菜鸟智商比较拙计,居然又出了下图5错误,让菜鸟比较蛋疼···继续看····


**** Build of configuration Default for project TQCamera_210 ****
make all
arm-linux-g++ -Wl,-O1 -Wl,-rpath,/opt/EmbedSky/qt-4.5/__install/arm/lib -o tqcamera main.o MyLabel.o tqcamera.o uiInputFileName.o uSetCameraPara.o uApi.o uUsbCamera.o moc_MyLabel.o moc_tqcamera.o moc_TQInputMethod.o moc_uiInputFileName.o moc_uSetCameraPara.o    -L/opt/EmbedSky/qt-4.5/__install/arm//lib -lTQInputMethod -lTQJpeg -lQtGui -L/tslib-1.4/lib -L/opt/EmbedSky/qt-4.5/__install/arm//lib -lts -L/opt/EmbedSky/openssl/lib -lQtNetwork -lssl -lcrypto -lQtCore -lm -lrt -ldl -lpthread
/opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/../../../../arm-embedsky-linux-gnueabi/bin/ld: cannot find -lTQInputMethod
collect2: ld returned 1 exit status
make: *** [tqcamera] 错误 1

自己度娘了一下:以下是引用网友大神的回到


卡住了,菜鸟问题多多,知道的大神给个解决方法,···待续····


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| Wesson 发表于 2013-4-21 22:02:11 | 显示全部楼层

好了,又有新进展,上面百度网友的回答还是让我无从下手,打开linux的进程管理命令top,进入任务管理器,没发现网友说的什么问题。好吧,只能自己看,查看了好久makefile文件,偶然间发现工程目录下有.so文件,百度后自动.so文件为动态链接,相当于windows下的.dll文件。菜鸟的智商真的很拙计·····绕了一大圈才知道问题····

/opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/../../../../arm-embedsky-linux-gnueabi/bin/ld: cannot find -lTQInputMethod
collect2: ld returned 1 exit status
make: *** [tqcamera] 错误 1

意思大概是在两个目录下都找不到某个文件,度娘一阵后发现,有动态链接.so文件的编译,需要将.so文件复制到某个指定的目录下,一般在/lib目录下,该处应该是在错误中提示的两个目录下。于是果断复制到该处。重新编译后,刚才的错误没了。又来了下面错误

/opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/libTQInputMethod.so: undefined reference to `QListData::detach(int)'
/opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/libTQInputMethod.so: undefined reference to `QListData::detach_grow(int*, int)'
collect2: ld returned 1 exit status
make: *** [tqcamera] 错误 1

错误到这里又下不去了,不知道怎么改了,麻烦大版求解·····:Q
TQ-lkp 发表于 2013-4-22 09:02:43 | 显示全部楼层
这个错误是,我们提供的QT应用程序都是添加了输入法的支持的,你从我们提供的文件系统的/opt/PDA/lib目录下将libTQInputMethod.so拷贝到交叉编绎器的lib目录下即可
 楼主| Wesson 发表于 2013-4-22 09:17:01 | 显示全部楼层
TQ-lkp 发表于 2013-4-22 09:02
这个错误是,我们提供的QT应用程序都是添加了输入法的支持的,你从我们提供的文件系统的/opt/PDA/lib目录下 ...

你这个应该是1楼出错的解决方法,我昨天已经发现并复制过去了,但复制过去又出现了2楼的错误:
/opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/libTQInputMethod.so: undefined reference to `QListData::detach(int)'
/opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/libTQInputMethod.so: undefined reference to `QListData::detach_grow(int*, int)'
collect2: ld returned 1 exit status
make: *** [tqcamera] 错误 1
 楼主| Wesson 发表于 2013-4-22 09:42:52 | 显示全部楼层
TQ-lkp 发表于 2013-4-22 09:02
这个错误是,我们提供的QT应用程序都是添加了输入法的支持的,你从我们提供的文件系统的/opt/PDA/lib目录下 ...

大版,这个该怎么解决啊···是不是动态链接库的问题??
 楼主| Wesson 发表于 2013-4-22 09:58:10 | 显示全部楼层
TQ-lkp 发表于 2013-4-22 09:02
这个错误是,我们提供的QT应用程序都是添加了输入法的支持的,你从我们提供的文件系统的/opt/PDA/lib目录下 ...

看到了,谢谢大版···:handshake
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-28 23:29 , Processed in 1.046875 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表