IT新闻:

【嵌入式】用Qt给ARM9(mini2440)添加软件键盘,添加动态链接库

    以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载

    其他的动态添加链接库的方法是一样的

    账号:sharefromfox@163.com 密码:3.1415926

    以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载

    其他的动态添加链接库的方法是一样的

    账号:sharefromfox@163.com 密码:3.1415926

 

    第一步:

    先修改五个文件的使用权限,最好都是777

    (sudo)Chomd 777 +(文件名)

    将libQSoftKeypad.so.1.0.0库文件拷贝到/usr/local/lib/目录下

    sudo cp libQSoftKeypad.so.1.0.0 /usr/local/lib/

    进入 /usr/local/lib/目录

    将库文件创建有3 个连接:*.so,*.so.1,*.so.1.0,

    可以使用如下命令:

1 ln -s libQSoftKeypad.so.1.0.0  libQSoftKeypad.so.1.0
2
3 ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1
4
5 ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so

 

    (sudo ldconfig –v可以查看所有动态链接库)

    sudo ldconfig –v |grep libQ 查看含有libQ的库

    接下来是将其他的四个头文件拷贝到交叉环境编译器库中

1 sudo cp keyboard.h qsoftkeypad.h keyunit.h QSoftKeypad_global.h /usr/local/Trolltech/Qt-4.6.3-arm/include/QtGui/

    当然也要将库文件卡拷贝到交叉编译环境库中并创建3个连接

1 sudo cp libQSoftKeypad.so.1.0.0 /usr/local/Trolltech/Qt-4.6.3-arm/lib/
2 sudo ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1.0
3 sudo ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so.1
4 sudo ln -s libQSoftKeypad.so.1.0.0 libQSoftKeypad.so

    接下来将libQSoftKeypad.so.1.0.0添加到开发板的系统编译环境库中

    并进行动态链接,步骤和上面的一样,注意路径

    好了这样就完成了,写个Qt程序测试下

    在qt中运行下面程序是通不过的

    只能使用命令行交叉编译这需要给先开发板搭建Qt环境

    先给项目的.pro文件中加上LIBS    += -lQSoftKeypad


7 QT += core gui
8
9 TARGET = KeyPad
10 TEMPLATE = app
11
12
13 SOURCES += main.cpp\
14 mainwindow.cpp
15
16 HEADERS += mainwindow.h
17
18 FORMS += mainwindow.ui
19
20 LIBS += -lQSoftKeypad

 

 1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include "qsoftkeypad.h"
6 #include <QWSServer>
7
8 namespace Ui {
9 class MainWindow;
10 }
11
12 class MainWindow : public QMainWindow
13 {
14 Q_OBJECT
15
16 public:
17 explicit MainWindow(QWidget *parent = 0);
18~MainWindow();

   private:

        Ui::MainWindow *ui;

   private slots:

      void on_pushButton_clicked();

  };

 

 1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3
4 MainWindow::MainWindow(QWidget *parent) :
5 QMainWindow(parent),
6 ui(new Ui::MainWindow)
7 {
8 ui->setupUi(this);
9 setWindowFlags(Qt::FramelessWindowHint);
10 setFocusPolicy(Qt::StrongFocus);
11 }
12
13 MainWindow::~MainWindow()
14 {
15 delete ui;
16 }
17
18 void MainWindow::on_pushButton_clicked()
19 {
20 ui->label->setText(ui->lineEdit->text());
21 }

交叉编译好之后将KeyPad文件中的KeyPad拷贝到开发板系统环境下,在我的快盘中我已经将交叉之后生成之后的文件都发在里面了,可以直接使用,可能效果有点误差。程序中注意的是添加#include "qsoftkeypad.h"头文件就行,程序简单,界面的实现比轻松不详细说明了。



 

posted @ 2012-03-22 21:34  胡藟壘  阅读(1058)  评论(0)    收藏  举报