最近要搞一个嵌入式项目,在I.MX6平台上基于linux系统使用QT做界面开发,于是就研究了一下如何对QT 5.9.2版本的代码进行下载和编译。同时,因为编译出来的程序不光要能在I.MX6嵌入式板子上运行,还要能够在桌面端运行以方便调试,因此就涉及到桌面版和嵌入式版两个版本,如下:

  • pc桌面版,将其命名为qt-5.9.2-pc版本,用于在PC端模拟调试程序。
  • imx6嵌入式版,将其命名为qt-5.9.2-imx6版本,用于在I.MX6平台上运行程序。

下面就开始详细介绍搭建、安装、编译等全过程的记录。

一、准备工作

1、开发环境介绍

  • 主机系统:win10(64位);
  • 虚拟工具:Virtualbox 5.2.0;
  • 虚拟系统:Ubuntu 14.04(64位);

2、下载QT源码

直接去官网(http://download.qt.io/archive/qt/)下载QT的源码即可。

由于某些历史原因,我这里下载的是5.9.2版本。建议大家也同样使用这个版本,毕竟我自己已经亲自验证过了。如果您使用新的版本,可能会遇到一些其他的问题。





这里需要注意的是,我们要下载的是源码压缩包,而不是现成编译好的可执行文件。所以,请进入“single”目录进行下载。我选择的是后缀名为tar.xz的文件(因为它比较小),解压得分两步走,先解开xz,然后再解开tar,命令如下:

xz -d qt-everywhere-src-5.9.2.tar.xz
tar -xvf qt-everywhere-src-5.9.2.tar

3、安装编译工具

请确保系统中已安装gcc、g++和OpenGL。可使用以下命令进行测试并验证它们的具体版本:

I、gcc工具

gcc --version

如果没有响应,或者提示gcc没有安装,则可以使用下述命令进行安装:

sudo apt-get  install  build-essential

安装完成之后,同样使用上述命令查看一下gcc的版本进行确认。

II、g++工具

g++ --version

如果没有响应,或者提示g++没有安装,则可以使用下述命令进行安装:

sudo apt-get install g++

安装完成之后,同样使用上述命令查看一下g++的版本进行确认。

III、OpenGL

glxinfo | grep OpenGL

如果提示“程序“glxinfo”尚未安装”,则可以使用下述命令进行安装:

sudo apt-get install mesa-utils

如果提示OpenGL找不到或者没有安装的话,则可使用下述命令安装(具体的详细过程可参见我的另外一篇博客:如何在Ubuntu 14.04下安装OpenGL开发环境)。

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev

安装完成之后,同样使用上述命令查看一下OpenGL的版本进行确认。

4、搭建目录环境

根据QT官方的说法,建议大家不要在QT源码的目录下直接进行编译,这样会污染源码所在的目录,无法达到多个版本共存编译的效果。可以在QT源码所在的同级目录下,新建一个临时用的编译目录,只为存放编译脚本和编译所产生的临时文件。如下:

leon@Ubuntu:~/tempuse$ ll
总用量 20
drwxrwxr-x  4 leon leon 4096  8月 10 11:10 ./
drwxr-xr-x 30 leon leon 4096  8月 10 11:07 ../
drwxrwxr-x 43 leon leon 4096 10月  4  2017 qt-everywhere-opensource-src-5.9.2/leon@Ubuntu:~/tempuse$ mkdir qt-5.9.2-x11 qt-5.9.2-imx6leon@Ubuntu:~/tempuse$ ll
总用量 32
drwxrwxr-x  7 leon leon 4096  8月 10 11:13 ./
drwxr-xr-x 30 leon leon 4096  8月 10 11:07 ../
drwxrwxr-x  2 leon leon 4096  8月 10 11:13 qt-5.9.2-imx6/
drwxrwxr-x  2 leon leon 4096  8月 10 11:13 qt-5.9.2-pc/
drwxrwxr-x 43 leon leon 4096 10月  4  2017 qt-everywhere-opensource-src-5.9.2/

于是,可以分别在qt-5.9.2-x11 qt-5.9.2-imx6这2个目录下进行不同版本的代码编译,而不会影响到源码所在的目录。

5、目标文件系统

由于最终编译出来的程序是要运行在I.MX6的嵌入式系统中,因此在编译的过程中要引入目标文件系统。我这里将该文件系统(fsl-image-gui-imx6qsabresd)解压放在/opt目录下。请记住这个目录,后面会用的到。

leon@Ubuntu:~$ cd /opt
leon@Ubuntu:/opt$ ll
总用量 32
drwxr-xr-x  8 root root 4096  8月 10 13:39 ./
drwxr-xr-x 23 root root 4096 10月 11  2017 ../
drwxr-xr-x 19 leon leon 4096 11月 14  2017 fsl-image-gui-imx6qsabresd/
drwxr-xr-x  9 root root 4096 10月 11  2017 VBoxGuestAdditions-5.0.20/
drwxr-xr-x  6 root root 4096  6月  9  2017 wps-office_10.1.0.5707~a21_x86_64/

二、pc桌面版

1、创建配置脚本

进入qt-5.9.2-pc目录,新建config.sh文件,输入:

#!/bin/sh./../qt-everywhere-opensource-src-5.9.2/configure \-verbose \-opensource \-release \-shared \-confirm-license \-make libs \-no-feature-cursor \-no-qml-debug \-no-use-gold-linker \-no-iconv \-no-glib \-no-gstreamer \-prefix /opt/qt-5.9.2-pc

这里“-prefix /opt/qt-5.9.2-pc“是用于指定编译之后库文件所安装的位置,你可以按照你自己的规划和要求来更改,但是其他的指令不建议更改。

为config.sh文件增加可运行属性,并运行之。大约1-2分钟之后,结束,提示配置成功:

Configure summary:Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
Configuration: sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 compile_examples enable_new_dtags f16c largefile precompile_header shared rpath release c++11 concurrent dbus no-qml-debug reduce_exports reduce_relocations stl
Build options:Mode ................................... releaseOptimize release build for size ........ noBuilding shared libraries .............. yesUsing C++ standard ..................... C++11Using ccache ........................... noUsing gold linker ...................... noUsing new DTAGS ........................ yesUsing precompiled headers .............. yesUsing LTCG ............................. noTarget compiler supports:SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2AVX .................................. AVX AVX2 F16CAVX512 ............................... <none>Build parts ............................ libs
Qt modules and options:Qt Concurrent .......................... yesQt D-Bus ............................... yesQt D-Bus directly linked to libdbus .... noQt Gui ................................. yesQt Network ............................. yesQt Sql ................................. yesQt Testlib ............................. yesQt Widgets ............................. yesQt Xml ................................. yes
Support enabled for:Using pkg-config ....................... yesQML debugging .......................... noudev ................................... noUsing system zlib ...................... yes
Qt Core:DoubleConversion ....................... yesUsing system DoubleConversion ........ noGLib ................................... noiconv .................................. noICU .................................... noLogging backends:journald ............................. nosyslog ............................... noslog2 ................................ noUsing system PCRE2 ..................... no
Qt Network:getaddrinfo() .......................... yesgetifaddrs() ........................... yesIPv6 ifname ............................ yeslibproxy ............................... noOpenSSL ................................ noQt directly linked to OpenSSL ........ noSCTP ................................... noUse system proxies ..................... yes
Qt Gui:Accessibility .......................... yesFreeType ............................... yesUsing system FreeType ................ noHarfBuzz ............................... yesUsing system HarfBuzz ................ noFontconfig ............................. noImage formats:GIF .................................. yesICO .................................. yesJPEG ................................. yesUsing system libjpeg ............... noPNG .................................. yesUsing system libpng ................ noEGL .................................... yesOpenVG ................................. noOpenGL:Desktop OpenGL ....................... yesOpenGL ES 2.0 ........................ noOpenGL ES 3.0 ........................ noOpenGL ES 3.1 ........................ noSession Management ..................... yes
Features used by QPA backends:evdev .................................. yeslibinput ............................... noINTEGRITY HID .......................... nomtdev .................................. notslib .................................. noxkbcommon-evdev ........................ no
QPA backends:DirectFB ............................... noEGLFS .................................. yesEGLFS details:EGLFS i.Mx6 .......................... noEGLFS i.Mx6 Wayland .................. noEGLFS EGLDevice ...................... noEGLFS GBM ............................ noEGLFS Mali ........................... noEGLFS Raspberry Pi ................... noEGL on X11 ........................... yesLinuxFB ................................ yesVNC .................................... yesMir client ............................. noX11:Using system-provided XCB libraries .. noEGL on X11 ........................... yesXinput2 .............................. noXCB XKB .............................. yesXLib ................................. yesXCB render ........................... yesXCB GLX .............................. yesXCB Xlib ............................. yesUsing system-provided xkbcommon ...... no
Qt Widgets:GTK+ ................................... noStyles ................................. Fusion Windows
Qt PrintSupport:CUPS ................................... no
Qt Sql:DB2 (IBM) .............................. noInterBase .............................. noMySql .................................. noOCI (Oracle) ........................... noODBC ................................... noPostgreSQL ............................. noSQLite2 ................................ noSQLite ................................. yesUsing system provided SQLite ......... noTDS (Sybase) ........................... no
Qt SerialBus:Socket CAN ............................. yesSocket CAN FD .......................... yes
QtXmlPatterns:XML schema support ..................... yes
Qt QML:QML interpreter ........................ yesQML network support .................... yes
Qt Quick:Direct3D 12 ............................ noAnimatedImage item ..................... yesCanvas item ............................ yesSupport for Qt Quick Designer .......... yesFlipable item .......................... yesGridView item .......................... yesListView item .......................... yesPath support ........................... yesPathView item .......................... yesPositioner items ....................... yesShaderEffect item ...................... yesSprite item ............................ yes
Qt Gamepad:SDL2 ................................... no
Qt 3D:Assimp ................................. yesSystem Assimp .......................... noOutput Qt3D Job traces ................. noOutput Qt3D GL traces .................. no
Qt 3D GeometryLoaders:Autodesk FBX ........................... no
Qt Wayland Client ........................ no
Qt Wayland Compositor .................... no
Qt Bluetooth:BlueZ .................................. noBlueZ Low Energy ....................... noLinux Crypto API ....................... no
Qt Sensors:sensorfw ............................... no
Qt Quick Controls 2:Styles ................................. Default Material Universal
Qt Quick Templates 2:Hover support .......................... yesMulti-touch support .................... yes
Qt Positioning:Gypsy GPS Daemon ....................... noWinRT Geolocation API .................. no
Qt Location:Geoservice plugins:OpenStreetMap ........................ yesHERE ................................. yesEsri ................................. yesMapbox ............................... yesMapboxGL ............................. noItemsoverlay ......................... yes
Qt Multimedia:ALSA ................................... noGStreamer 1.0 .......................... noGStreamer 0.10 ......................... noVideo for Linux ........................ yesOpenAL ................................. noPulseAudio ............................. noResource Policy (libresourceqt5) ....... noWindows Audio Services ................. noDirectShow ............................. noWindows Media Foundation ............... no
Qt WebEngine:Embedded build ......................... noPepper Plugins ......................... yesPrinting and PDF ....................... yesProprietary Codecs ..................... noSpellchecker ........................... yesWebRTC ................................. yesUsing system ninja ..................... noALSA ................................... noPulseAudio ............................. noSystem libraries:re2 .................................. noICU .................................. nolibwebp and libwebpdemux ............. noOpus ................................. noffmpeg ............................... noNote: Also available for Linux: linux-clang linux-iccNote: Disabling X11 Accessibility Bridge: D-Bus or AT-SPI is missing.Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/opt/qt-5.9.2-pc'.Prior to reconfiguration, make sure you remove any leftovers from the previous build.

说明:配置的过程中,经过我自己的亲测,有可能会提示一些错误信息,包括下面的make环节和install环节,都有可能会提示一些错误信息。但是只要程序不会自动终止,一般就问题不大。

2、编译和安装

输入下述命令开始编译。由于源码内容较多,编译时间会很长,以我的电脑i3-4160 3.6GHz处理器+4G内存的配置,编译了差不多60分钟。

make -j4 -s                                      # -s表示静默输出,只提示一些错误和警告

编译完成后,输入下述命令便可直接安装到之前预设的目录下:

sudo make install                                # sudo是为了提升权限,如果你的权限够可以不用

三、imx6嵌入式版

1、修改qmake文件

修改qt源码目录下的qtbase/mkspecs/linux-arm-gnueabi-g++目录下的文件qmake.conf文件为以下内容:

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublibIMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1
IMX6_CFLAGS_RELEASE = -O2 $$IMX6_CFLAGS
QMAKE_CFLAGS_DEBUG += $$IMX6_CFLAGS
QMAKE_CXXFLAGS_DEBUG += $$IMX6_CFLAGS
QMAKE_CFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE += $$IMX6_CFLAGS_RELEASEinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)POKY_PATH = /opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi
ROOTFS_PATH = /opt/fsl-image-gui-imx6qsabresd# modifications to g++.conf
QMAKE_CC = $$POKY_PATH/arm-poky-linux-gnueabi-gcc -mfloat-abi=hard
QMAKE_CXX = $$POKY_PATH/arm-poky-linux-gnueabi-g++ -mfloat-abi=hard
QMAKE_LINK = $$POKY_PATH/arm-poky-linux-gnueabi-g++ -mfloat-abi=hard
QMAKE_LINK_SHLIB = $$POKY_PATH/arm-poky-linux-gnueabi-g++ -mfloat-abi=hard# modifications to linux.conf
QMAKE_AR = $$POKY_PATH/arm-poky-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = $$POKY_PATH/arm-poky-linux-gnueabi-objcopy
QMAKE_NM = $$POKY_PATH/arm-poky-linux-gnueabi-nm -P
QMAKE_STRIP = $$POKY_PATH/arm-poky-linux-gnueabi-stripQMAKE_INCDIR += $$ROOTFS_PATH/usr/include
QMAKE_LIBDIR += $$ROOTFS_PATH/usr/libQMAKE_LIBS_EGL += -lEGL -lGAL
QMAKE_LIBS_OPENGL_ES1 += -lGLESv1_CM -lEGL -lGAL
QMAKE_LIBS_OPENGL_ES1CL += -lGLES_CL -lEGL -lGAL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL -lVSC
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL -lVSCload(qt_config)

2、创建配置脚本

进入qt-5.9.2-imx6目录,新建config.sh文件,输入:

#!/bin/sh./../qt-everywhere-opensource-src-5.9.2/configure \
-verbose \
-opensource \
-release \
-shared \
-confirm-license \
-eglfs \
-linuxfb \
-openvg \
-make libs \
-no-feature-cursor \
-no-qml-debug \
-no-use-gold-linker \
-no-iconv \
-xplatform linux-arm-gnueabi-g++ \
-prefix /opt/qt-5.9.2-imx6 \
-I/opt/fsl-image-gui-imx6qsabresd/usr/include \
-L/opt/fsl-image-gui-imx6qsabresd/usr/lib

这里“-prefix /opt/qt-5.9.2-imx6“是用于指定编译之后库文件所安装的位置,你可以按照你自己的规划和要求来更改,后面两句话则是用于指定I.MX6文件系统所在的目录位置,你也可以根据你自己的情况修改。但是其他的指令不建议更改。

为config.sh文件增加可运行属性,并运行之。大约1-2分钟之后,结束,提示配置成功:

Configure summary:Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: linux-arm-gnueabi-g++ (arm, CPU features: neon)
Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header shared rpath release c++11 c++14 concurrent dbus no-pkg-config no-qml-debug reduce_exports stl
Build options:Mode ................................... releaseOptimize release build for size ........ noBuilding shared libraries .............. yesUsing C++ standard ..................... C++14Using ccache ........................... noUsing gold linker ...................... noUsing new DTAGS ........................ yesUsing precompiled headers .............. yesUsing LTCG ............................. noTarget compiler supports:NEON ................................. yesBuild parts ............................ libs
Qt modules and options:Qt Concurrent .......................... yesQt D-Bus ............................... yesQt D-Bus directly linked to libdbus .... noQt Gui ................................. yesQt Network ............................. yesQt Sql ................................. yesQt Testlib ............................. yesQt Widgets ............................. yesQt Xml ................................. yes
Support enabled for:Using pkg-config ....................... noQML debugging .......................... noudev ................................... noUsing system zlib ...................... no
Qt Core:DoubleConversion ....................... yesUsing system DoubleConversion ........ noGLib ................................... noiconv .................................. noICU .................................... noLogging backends:journald ............................. nosyslog ............................... noslog2 ................................ noUsing system PCRE2 ..................... no
Qt Network:getaddrinfo() .......................... yesgetifaddrs() ........................... yesIPv6 ifname ............................ yeslibproxy ............................... noOpenSSL ................................ noQt directly linked to OpenSSL ........ noSCTP ................................... noUse system proxies ..................... yes
Qt Gui:Accessibility .......................... yesFreeType ............................... yesUsing system FreeType ................ noHarfBuzz ............................... yesUsing system HarfBuzz ................ noFontconfig ............................. noImage formats:GIF .................................. yesICO .................................. yesJPEG ................................. yesUsing system libjpeg ............... noPNG .................................. yesUsing system libpng ................ noEGL .................................... yesOpenVG ................................. yesOpenGL:Desktop OpenGL ....................... noOpenGL ES 2.0 ........................ yesOpenGL ES 3.0 ........................ yesOpenGL ES 3.1 ........................ noSession Management ..................... yes
Features used by QPA backends:evdev .................................. yeslibinput ............................... noINTEGRITY HID .......................... nomtdev .................................. notslib .................................. noxkbcommon-evdev ........................ no
QPA backends:DirectFB ............................... noEGLFS .................................. yesEGLFS details:EGLFS i.Mx6 .......................... yesEGLFS i.Mx6 Wayland .................. noEGLFS EGLDevice ...................... noEGLFS GBM ............................ noEGLFS Mali ........................... noEGLFS Raspberry Pi ................... noEGL on X11 ........................... noLinuxFB ................................ yesVNC .................................... yesMir client ............................. no
Qt Widgets:GTK+ ................................... noStyles ................................. Fusion Windows
Qt PrintSupport:CUPS ................................... no
Qt Sql:DB2 (IBM) .............................. noInterBase .............................. noMySql .................................. noOCI (Oracle) ........................... noODBC ................................... noPostgreSQL ............................. noSQLite2 ................................ noSQLite ................................. yesUsing system provided SQLite ......... noTDS (Sybase) ........................... no
Qt SerialBus:Socket CAN ............................. yesSocket CAN FD .......................... yes
QtXmlPatterns:XML schema support ..................... yes
Qt QML:QML interpreter ........................ yesQML network support .................... yes
Qt Quick:Direct3D 12 ............................ noAnimatedImage item ..................... yesCanvas item ............................ yesSupport for Qt Quick Designer .......... yesFlipable item .......................... yesGridView item .......................... yesListView item .......................... yesPath support ........................... yesPathView item .......................... yesPositioner items ....................... yesShaderEffect item ...................... yesSprite item ............................ yes
Qt Gamepad:SDL2 ................................... no
Qt 3D:Assimp ................................. yesSystem Assimp .......................... noOutput Qt3D Job traces ................. noOutput Qt3D GL traces .................. no
Qt 3D GeometryLoaders:Autodesk FBX ........................... no
Qt Wayland Client ........................ no
Qt Wayland Compositor .................... no
Qt Bluetooth:BlueZ .................................. noBlueZ Low Energy ....................... noLinux Crypto API ....................... no
Qt Sensors:sensorfw ............................... no
Qt Quick Controls 2:Styles ................................. Default Material Universal
Qt Quick Templates 2:Hover support .......................... yesMulti-touch support .................... yes
Qt Positioning:Gypsy GPS Daemon ....................... noWinRT Geolocation API .................. no
Qt Location:Geoservice plugins:OpenStreetMap ........................ yesHERE ................................. yesEsri ................................. yesMapbox ............................... yesMapboxGL ............................. yesItemsoverlay ......................... yes
Qt Multimedia:ALSA ................................... noGStreamer 1.0 .......................... noGStreamer 0.10 ......................... noVideo for Linux ........................ yesOpenAL ................................. noPulseAudio ............................. noResource Policy (libresourceqt5) ....... noWindows Audio Services ................. noDirectShow ............................. noWindows Media Foundation ............... no
Qt WebEngine:Embedded build ......................... yesPepper Plugins ......................... noPrinting and PDF ....................... noProprietary Codecs ..................... noSpellchecker ........................... yesWebRTC ................................. noUsing system ninja ..................... noALSA ................................... noPulseAudio ............................. noSystem libraries:re2 .................................. noICU .................................. nolibwebp and libwebpdemux ............. noOpus ................................. noffmpeg ............................... noNote: Also available for Linux: linux-clang linux-iccNote: No wayland-egl support detected. Cross-toolkit compatibility disabled.WARNING: Cross compiling without sysroot. Disabling pkg-configQt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/opt/qt-5.9.2-imx6'.Prior to reconfiguration, make sure you remove any leftovers from the previous build.

说明:配置的过程中,经过我自己的亲测,有可能会提示一些错误信息,包括下面的make环节和install环节,都有可能会提示一些错误信息。但是只要程序不会自动终止,一般就问题不大。

3、编译和安装

输入下述命令开始编译。由于源码内容较多,编译时间会很长,以我的电脑i3-4160 3.6GHz处理器+4G内存的配置,编译了差不多90分钟。

make -j4 -s                                      # -s表示静默输出映射,只提示一些警告和错误

编译完成后,输入下述命令便可直接安装到之前预设的目录下:

sudo make install                                # sudo是为了提升权限,如果你的权限够可以不用

四、写在后面

至此,桌面版和嵌入式版共2个版本的QT库全部编译和安装完成,分别位于opt目录下的指定位置。接下去就是安装QTCreator,然后在其中配置好相关的套件环境即可,在此不做记录。有需要的同学可参见我的其他博客中的记录。

leon@Ubuntu:~$ cd /opt
leon@Ubuntu:/opt$ ll
总用量 40
drwxr-xr-x 10 root root 4096  8月 10 16:20 ./
drwxr-xr-x 23 root root 4096 10月 11  2017 ../
drwxr-xr-x 19 leon leon 4096 11月 14  2017 fsl-image-gui-imx6qsabresd/
drwxr-xr-x 10 root root 4096  8月 10 14:42 qt-5.9.2-imx6/
drwxr-xr-x 10 root root 4096  8月 10 13:40 qt-5.9.2-pc/
drwxr-xr-x  9 root root 4096 10月 11  2017 VBoxGuestAdditions-5.0.20/
drwxr-xr-x  6 root root 4096  6月  9  2017 wps-office_10.1.0.5707~a21_x86_64/

Ubuntu 14.04系统下安装和编译QT 5.9.2库(桌面版/ARM嵌入式IMX6版)相关推荐

  1. 如何在ubuntu 14.04系统下开启nfs网络文件系统

    之前安装过ubuntu 11.04和ubuntu 12.04的系统时,分别研究过如何开启NFS网络文件系统.今天将系统更新到了ubuntu 14.04,发现之前的办法都不行了,有些步骤得更新一下,于是 ...

  2. linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法

    本文介绍在Ubuntu 18.04操作系统下安装pyenv的方法,使用它可以进行Python多版本管理,目的是防止不同的Python版本因为不兼容而出现错误.安装pyenv其实非常的简单,只需要在系统 ...

  3. 64位Ubuntu 12.04系统下安装Qt library和Qt Creator全过程记录

    最新公司搞一个新项目,需要在linux下进行UI界面设计.选来选去,最后选择采用Qt平台来做,于是要开始研究一下Qt. Qt作为跨平台的C++图形用户界面库,可以说是功能强大.应用广泛.相关的教程和资 ...

  4. ubuntu 14.04-LTS 系统下安装搜狗输入法

    1.点击  http://pinyin.sogou.com/linux/    下载32bit  or 64bit 的deb的软件包 2.双击下载的 deb 软件包,即可直接安装搜狗输入法 3.重启- ...

  5. linux drupal 7安装教程,Ubuntu 14.04 LTS 下安装Drupal 7

    2.下载Drupal7的安装包: wget http://ftp.drupal.org/files/projects/drupal-7.XX.tar.gz 其中XX为最新的版本号 3.将安装包中文件解 ...

  6. Ubuntu14.04系统下安装配置OpenCV 4.0.0开发环境全过程

    最近研究一个项目时需要用到OpenCV,于是自己尝试在Ubuntu 14.04系统下安装了这个开发环境.下面就将具体的过程记录一下,便于后期查阅和同行分享. 〇.开发环境 首先介绍一下我的开发环境: ...

  7. Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置

    这里我主要参考 pycaffe 的 安装配置 http://www.linuxidc.com/Linux/2015-07/120449.htm 最近因为各种原因,装过不少次Caffe,安装过程很多坑, ...

  8. ubuntu18安装oracle11g,在Ubuntu 18.04系统下快速安装Oracle Java 11的方法

    本文介绍在Ubuntu 18.04操作系统下使用PPA快速安装Oracle Java 11的方法,同时也可以用在Ubuntu 18.10.Ubuntu 16.04.Ubuntu 14.04版本中. O ...

  9. 安装Ubuntu 14.04系统Linux微信开发工具的笔记

    安装Ubuntu 14.04系统&微信开发工具的笔记 Ubuntu 14.04系统所需硬件配置低,我所使用的1.9GRAM笔电上正是安装的此系统. 最近因为崩溃重装了一次,并接着安装了linu ...

最新文章

  1. 在CentOS 6.6 64bit上安装Python 3.5.0
  2. 让炼丹更玄学!苏大博士生用「天干地支」生成随机种子,项目已开源
  3. python解多项式方程_python – SymPy不能求解四阶多项式方程
  4. @Autowired原理
  5. Calibre 3.38.1 下载 Runoob 网站中的《Python 2 教程》的 Recipe
  6. 初始化QChart极坐标图(含曲线、散点)
  7. [leetcode]102.二叉树的层序遍历
  8. 12无法使用otg_12个冷知识:或许只能看看而无法使用,但却真实存在着
  9. 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行(转)
  10. 创业公司引导页html5模板
  11. 神经网络训练中的Tricks之高效BP(反向传播算法)
  12. 送货只服京东“特快送”:航空快件可送达近300个城市
  13. 纯JavaScript实现HTML5 Canvas六种特效滤镜
  14. 文件夹自定义重命名的步骤
  15. canvas lineWidth为1时线条粗细和颜色
  16. JWT、JWS与JWE
  17. 红米k30可以用鸿蒙系统吗,红米K30好用吗?Redmi K30上手评测
  18. Java内存模型(JMM)详解
  19. 做计算机实验报告的总结,制作网线实验报告与总结
  20. mongodb 服务器性能监控,mongodb监控 | mongodb数据库监控 - ManageEngine Applications Manager...

热门文章

  1. Linux里的21的理解
  2. 协议类接口 - NAND
  3. Linux平台常用命令
  4. 【Unity】12.4 通过网格分层选择行进路线
  5. angular.js前端和后台的数据交换,后台取不到值对应方案
  6. [深入浅出Cocoa]iOS网络编程之NSStream
  7. 什么是VB.NET的结构化异常处理
  8. java引用类的关键字_java中定义类通常使用的关键字有哪些
  9. scala java maven项目_IntelliJ IDEA下Maven创建Scala项目的方法步骤
  10. c语言lnk1168无法打开exe,跪求大佬帮帮看看LINK : fatal error LNK1168: 无法打开 F:\windows程序设计\窗口\......