加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > 单片机学习

QT/Qtopia环境变量设置与编译运行问题

时间:2013-09-03  来源:123485.com  作者:9stone

一 参照手册例子建立helloword.cpp
------------------------------
#include<qapplication.h>
#include<qpushbutton.h>

int main(int argc,char **argv)
{
        QApplication a(argc,argv);
        QPushButton hello("Hello world!",0);
        hello.resize(100,30);

        a.setMainWidget(&hello);
        hello.show();
        int result=a.exec();
        return result;
}
--------------------------
二 设置环境变量:(这里我直接使用在安装Qt时使用的set-env配置,埋下了隐患)
export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
建立tmake工程文件:
#progen -n helloword -o helloword.pro
产生makefile文件:
#tmake helloword.pro -o makefile
#make
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/home/chinazjn/armsys2410/qt_x86/qt/include -o helloword.o helloword.cpp
gcc  -o helloword helloword.o   -L/home/chinazjn/armsys2410/qt_x86/qt/lib -lqte
/home/chinazjn/armsys2410/qt_x86/qt/lib/libqte.so:对‘cos’未定义的引用
/home/chinazjn/armsys2410/qt_x86/qt/lib/libqte.so:对‘sin’未定义的引用
/home/chinazjn/armsys2410/qt_x86/qt/lib/libqte.so:对‘pow’未定义的引用
collect2: ld returned 1 exit status
make: *** [helloword] 错误 1
----------------------------------------------------------------
#vi makefile
..........................
CXXFLAGS=       -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG
INCPATH =       -I$(QTDIR)/include
LINK    =       gcc     //此处修改为g++
............................
#make   编译成功!

三  运行测试
#qvfb&
#./helloword -qws
./helloword: error while loading shared libraries: libqte.so.2: cannot open shared object file: No such file or directory

环境变量设置有问题,重新设置:
------------------
pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
             _PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++

unset LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$QTDIR/lib/:$QPEDIR/lib/

pathmunge  $QTDIR/bin
pathmunge  $QPEDIR/bin
pathmunge  $TMAKEDIR/bin
-------------
之后可以正常运行了。初学linux,环境变量感觉挺麻烦的,都是windows把我们给害的,抽空要学习一下。


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->单片机学习
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门