• 3588阅读
  • 8回复

在线等强人回答 弱智问题!!! [复制链接]

上一主题 下一主题
离线futurepeter
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-20
QT开发问题,交叉编译出现找不到库的问题。
环境变量如下
declare -x PWD="/usr/local/srcProject/example/helloqt"
declare -x QMAKESPEC="/usr/local/Trolltech/Qt-4.5.2/mkspecs/qws/linux-arm-g++"
declare -x QTDIR="/usr/local/program/Trolltech/QtEmbedded-4.5.0-beta1-arm"
declare -x QTEDIR="/usr/local/program/Trolltech/QtEmbedded-4.5.0-beta1-arm"
declare -x QT_IM_MODULE="xim"
declare -x SESSION_MANAGER="local/sunjiwei-desktop:/tmp/.ICE-unix/6029"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/tmp/keyring-lwkEXe/ssh"
declare -x TERM="xterm"
declare -x TMAKEDIR="/usr/local/program/tmake-2.12"
declare -x TMAKEPATH="/usr/local/program/tmake-2.12/lib/qws/linux-arm-g++"
declare -x USER="root"
declare -x USERNAME="root"
declare -x WINDOWID="54526043"
declare -x WINDOWPATH="7"
declare -x XAUTHORITY="/root/.Xauthority"
declare -x XDG_DATA_DIRS="/usr/local/share/:/usr/share/:/usr/share/gdm/"
declare -x XDG_SESSION_COOKIE="816ca57dcb4b906cd2aeb3de4a5c929b-1248057569.441213-1143441994"
declare -x XMODIFIERS="@im=SCIM"
我估计也是环境变量设置错误,只是不知道哪里错了。
如能有强人解答,万分感谢!!
离线futurepeter
只看该作者 1楼 发表于: 2009-07-20
没人碰到过这个问题吗,帮忙解答一下,谢谢了!!
离线guoyun_he

只看该作者 2楼 发表于: 2009-07-20
你要把错误信息贴出来啊,不然别人怎么知道你出什么问题了!
离线futurepeter
只看该作者 3楼 发表于: 2009-07-20
不好意思了,错误信息如下:
main.cpp:1:25: qapplication.h: No such file or directory
main.cpp:3:18: QLabel: No such file or directory
main.cpp: In function `int main(int, char**)':
main.cpp:8: error: `QApplication' undeclared (first use this function)
main.cpp:8: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:8: error: expected `;' before "app"
main.cpp:9: error: `QLabel' undeclared (first use this function)
main.cpp:9: error: `lab' undeclared (first use this function)
main.cpp:9: error: `QLabel' has not been declared
main.cpp:12: error: `app' undeclared (first use this function)
main.cpp: At global scope:
main.cpp:6: warning: unused parameter 'argc'
main.cpp:6: warning: unused parameter 'argv'
make: *** [main.o] 错误 1


有人遇到过吗??
离线guoyun_he

只看该作者 4楼 发表于: 2009-07-20
离线futurepeter
只看该作者 5楼 发表于: 2009-07-20
谢谢了,我看了那篇帖子。首先不可能是没配置好。库肯定已经安装了。我觉得应该是最后qmake的问题。我用的是qt-x11的qmake,是不是得用qt-embedded的qmake.还是得用tmake,有些帖子说编译开发板程序的时候不能用qmake,只能用qmake
离线guoyun_he

只看该作者 6楼 发表于: 2009-07-20
/home/hevd/qt/qt-embedded/bin/qmake -spec ../../../mkspecs/qws/linux-arm-g++ -unix -o Makefile calculator.pro
离线futurepeter
只看该作者 7楼 发表于: 2009-07-20
了解了,非常感谢!
离线futurepeter
只看该作者 8楼 发表于: 2009-07-20
我再把我的问题及解决方法总结下,以后有人遇到后可参考:qtembedded4.5等高的版本已经自带了qmake工具,不像其他低版本的qte,需要用tmake来产生Makefile,文件。一般qt4程序交叉编译出问题都是路径设置的不对。即用的是qt-x11下面的qmake,而不是用于嵌入式版本的qte下面的qmake,而且有一点的是,高版本后tmake产生的makefile不能交叉编译通过。因此在交叉编译产生工程和Makefile时,我们要用qte下的qmake来产生(需要绝对路径,因为我试过用环境变量修改,但是提示找不到qte下的qmake,但绝对路径绝对不会错)。而且makefile文件只需要添加交叉编译的库即可。在此谢谢上面仁兄的大力帮助!
快速回复
限100 字节
 
上一个 下一个