ARM架构下配置QT的mysql连接(Jetson Nano 4GB)
Jetson Nano 从系统到Qt
首先拿到Jetson Nano开发板后,进行系统的烧录,这里推荐烧录早期版本,因为更加的稳定,且对更多的应用或插件更加的兼容。链接如下:https://developer.nvidia.com/zh-cn/embedded/downloads
系统烧录之后,第一步就是先进行换源操作。
sudo gedit /etc/apt/sources.list 或者 sudo vim /etc/apt/sources.list 然后我们更改我们的源。 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
然后我们保存后退出。 vim保存退出的操作是: ESC :wq! 随后更新一下。 sudo apt-get update
Jetson Nano编译Qt的Mysql模块
由于mysql和Qt使用的开源协议不同,导致Qt安装包中不能携带Mysql安装包,所以我们必须自己进行编译。
升级Make
获取make 的源码 wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz 解压 tar -xvf make-4.3.tar.gz 安装 cd make-4.3/ ./configure make make install 安装Cmake sudo apt install cmake 安装Mysql-connect-c 下载mysql-connector-c, 链接如下:https://downloads.mysql.com/archives/c-c/
需求
版本为6.1.11
Source Code
Arm架构
cd Download/ ls #查看是否有下载的文件 cd mysql-connector-c-6.1.11-src #进入我们的安装包位置 cmake CMakeLists.txt #编译我们的文档 make -j4 sudo make install #切记使用sudo把权限拉满
这个时候我们可以在libmysql文件夹中看到三个so文件,我们的目的就达到了,这个文件之后要导入到我们qt的pro文件中。
下载Qtbase的源码
链接如下:http://download.qt.io/archive/qt/
下面是我们的主题思想,实际报错的可能还有很多。
解压 进入目录 cd ./qtbase-opensource-src-5.9.5/src/plugins/sqldrivers/mysql 修改mysql.pro文件 注释QMAKE_USE += mysql 添加DESTDIR = .../mysqldll 添加库 :libmysqlclient.so 所在的位置 sudo qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro make make install
到这里我们就又获得了一个so文件,然后我们呢创建一个qt项目之后,导入外部库,将两个so导入进去,即可完成链接。