QGIS3.10编译指南

2023-10-30

下载所需要软件

  1. 安装VS2015以及版本5以上的QT。
    根据我的电脑环境,我使用vs2015 x64 和 QT5.10.1版本,并将QT配置到VS上;安装CMake(有需要的再额外安装Python37;安装doxyden)。

除VS默认加入环境路径,检查QT和CMake的bin文件是否已经加入到环境路径中,
你可以右击“我的电脑”->“属性”->“高级系统设置”->“环境变量”->在系统变量中找到PATH,编辑查看
(如果此时不添加,也可在生成工程时一起配置环境)
2. 安装Cygwin依赖库
在这之前,你可以新建一个文件夹QGIS,将下载的需要的文件都放到下面,便于整理,最后它将是这样。
在这里插入图片描述

2.1 运行Cygwin setup安装包,按以下步骤继续
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随便选择一个网址,一般默认第一个;无需点击Add,直接下一步。
在这里插入图片描述
在这里插入图片描述
所需库均搜索完毕,点击下一步等候下载安装即可。

2.2 在这个过程中,注意以下几点
(1)View选择Category(若不是,点击View可更改)
(2)Search输入要下载的内容,本工具只用下载flex和bison
(3)选择Devel,展开,如果当前未下载则显示的是"Skip",点击会变成具体的版本,然后点击下一步即可下载(由于我这边都下过了,所以显示的是版本号和keep)。
没有下载的应该类似这样
在这里插入图片描述
(4)Search一个库之后,点击"Skip"使其出现版本编号后,清除search框的内容,继续search下一个。全部搜索点击完成后,再点击下一步,所有搜索项将会一起下载。
(5)上述路径不要有中文或空格

  1. 安装osgeo4W依赖库
    (文件较多较大,建议在网速流畅的条件下进行)
    3.1 运行osgeo4w-setup安装包
    如下
    在这里插入图片描述
    在这里插入图片描述
    按个人需要修改路径
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    等待加载
    在这里插入图片描述
    在这里插入图片描述

3.2 依赖库的搜索项
(1)操作同Cygwin的步骤类似,略去不提
(2)你需要依次search以下内容:
expat、fcgi、gdal、grass、gsl-devel、iconv、libspatialindex-devel、pyqt5、python3-devel、python3-qscintilla、python3-nose2、python3-future、python3-pyyaml、python3-mock、qca-qt5-devel、qca-qt5-libs、qscintilla-qt5、qt5-devel、qt5-libs-debug、qtwebkit-qt5-devel、qtwebkit-qt5-libs-debug、qwt-devel-qt5、sip-qt5、spatialite、qjson。
除上面方法外,如果你嫌一个一个库下载麻烦,可以直接查找qgis-dev-deps安装,该库会将所有依赖库一起安装,省时省力,一步到位。
在这里插入图片描述

(3)遵从“宁可多下,绝不少下”的原则
(4)仅仅下载Library的内容
4.安装ninja
解压ninja的压缩包,并把ninja.exe复制到osgeo4w的安装路径的bin目录中(默认是C:\OSGeo4W64\bin),路径可在第3步中修改,后续的bat脚本会用到这个路径。

用CMake生成工程

  1. 配置环境
    新建一个txt文件,命名path(具体什么命名无所谓)
    将以下内容拷贝到里面。
    @echo off
    set VS140COMNTOOLS = D:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
    call “D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat” x64
    set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
    set LIB=%LIB%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
    set OSGEO4W_ROOT=D:\QGIS\OSGeo4W64
    call “%OSGEO4W_ROOT%\bin\o4w_env.bat”
    call “%OSGEO4W_ROOT%\bin\py3_env.bat”
    call “%OSGEO4W_ROOT%\bin\qt5_env.bat”
    set O4W_ROOT=%OSGEO4W_ROOT:=/%
    set LIB_DIR=%O4W_ROOT%
    path %path%;D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
    path %PATH%;D:\Program Files\CMake\bin;D:\QGIS\cygwin64\bin
    @set GRASS_PREFIX7=D:/QGIS/OSGeo4W64/apps/grass/grass78
    @set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include
    @set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib
    set LIB=%LIB%;%OSGEO4W_ROOT%\apps\Qt5\lib;%OSGEO4W_ROOT%\lib
    set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\apps\Qt5\include;%OSGEO4W_ROOT%\include
    @cmd

注意说明:上面的路径以及grass的版本要根据自己的实际情况,做适当地改变
(1)VS140COMNTOOLS表示VS15
(若是VS2017则用语句VS150COMNTOOLS表示)
(2)Include表示头文件,这里加了Win10系统的sdk;Lib表示编译的动态库
(3)Path表示环境变量(刚才在前面没有设置的路径,现在也可以在这里添加)
(4)特别注意:GRASS_PREFIX的路径地址必须是“/”;Path路径多个;之间不能有空格,另外在CMake中GRASS_PREFIX的名称可能会变为GRASS_PREFIX7,所以在配置环境时需要将GRASS_PREFIX时更改为GRASS_PREFIX7,要不然GRASS_PREFIX会识别不出路径。

保存txt的内容,将文件后缀名改为.bat
在path.bat当前目录下按住shift键不放,右击鼠标选择 “在此处打开power shell 窗口(s)” ,输入下面命令进入cmake窗口。
输入以下命令:path.bat(在win10新版本中语法规则改变,输入:/.path.bat)
出现类似“Microsoft Windows 版本 10.0.17134.345 2018 Microsoft Corporation。保留所有权利。”字样,表执行成功
接着输入cmake-gui
将会打开CMake编辑页
在这里插入图片描述
2. 利用CMake构建项目
在上方文本框中分别输入QGIS源码路径;构建的VS工程的输出路径
在这里插入图片描述
点击下方“Configure”,将弹出VS版本选择(若为VS2017选择Visual Studio 15 2017 Win64)

在这里插入图片描述
点击Configure后可能会出现一些错误,找到相应的路径添加上去就行了,下面是我的路径,可能会有所不同,仅供参考。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随后,CMake将自动索引有关链接库,生成链接,对没有搜索到的库会报错显示没有找到路径。
(建议第一遍搜索后按我的配置手动增加路径)

增加步骤:
选择Add Entry
在这里插入图片描述
在这里插入图片描述
在这里,建议将QT与Python的有关路径全部改为OSGeo4W64/apps下的QT5和Python3文件夹下的路径。

因为CMake搜索机制是从硬盘文件夹逐步深入;所以主目录优先寻找到此主机安装上的QT与Python目录。
如果您的版本刚好是QT5.11.2与Python3+,可能不会影响结果,但如果版本有差异很可能造成后期编译出现链接错误。
而OSGeo4W64是QGIS方提供的最新库,将保证链接不出现问题(若后期有意更换最新版本的QGIS源码,仅在OSGeo4W64重新下载有关库到原保存文件夹下,更新生成VS工程即可)

当“Configure”直到下方信息栏显示Configuring done;
点击“Generate”显示Generate done;
此时“Open Object”按钮变亮点击它,即可进入工程项目;
(下一次需要打开工程,可在新建项目文件夹下,寻找.sln后缀的工程文件,打开即可)

在VS下编译
工程加载进入后,先将Debug格式改为Release或者RelWithDebInfo(在这两种版本下,编译不包含调试信息,容量上大大减小,运行速度大幅度提高;对于较大工程比较适用;在Rel版本下调试正确后换为Deg版本依旧正确,无须担心)
此处以RelWithDebInfo做例

1. 修改不识别的符号

先在资源管理器中找到qgis项目,右击该项目,选择“设为启动项目”
在这里插入图片描述
接着,你可以先试着第一次生成解决方案,以排除所有页面不识别的错误

你应会遇到大量报错,请等待生成完毕。
在错误中会出现例如
“错误 C2143 语法错误: 缺少“)”(在“;”的前面) ”
“错误 C2001 常量中有换行符 ”
……
这些错误的原因是因为页面不支持("′")("″")的符号

在错误列表关闭错误,仅查看警告,并点击“说明”让其聚类。大体上将出现会三种警告类型。
对于以下这两种,我们忽视掉——
“警告 C4718 “QMapNode<int,QgsRasterIterator::RasterPartInfo>::doDestroySubTree”: 递归调用无副作用,正在删除 ”
“警告 C4702 无法访问的代码 ”
在这里插入图片描述
在这里插入图片描述

而对于——
“警告 C4819 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 ”
在这里插入图片描述
我们点双击其文件一栏的文件名,进入对应的.cpp或.h文件
在这里插入图片描述
Ctrl+A 全选文件内容,点击上方“文件”,找到“高级保存设置”
在这里插入图片描述
将其从无签名改为带签名
在这里插入图片描述

修改所有出现此类警告的.cpp和.h文件,再次生成“qgis”项目,大部分报错将会消失。(也有可能直接编译通过)

2.可能报错的其他问题

2.1与qtmain.lib有关的未初始化的定义

解决方法:
找到例如此的警告信息
LNK4099 未找到 PDB“qtmain.pdb”(使用“qtmain.lib(qtmain_win.obj)正在链接对象,如同没有调试信息一样
得到该警告来源的项目名,如“qgiscrashhandle”

右击“qgiscrashhandle项目”->“属性”->“连接器”->“输入”附加依赖项中修改添加
D:\QGIS\OSGeo4W64\apps\Qt5\lib\qtmain.lib

2.2 qgis_gui项目中出现未定义的标识符 “QWebElement”

解决方法:
“qgis_gui项目”->“属性”->“C/C++”->“常规”附加包含目录中修改添加
D:\QGIS\OSGeo4W64\apps\Qt5\include\QtWebKit

注释掉报错函数关于QWebElemen类的内容,并在qgismaptip.cpp文件开头注释掉——
//#if WITH_QTWEBKIT
//#endif
(因为原代码中WITH_QTWEBKIT未定义,头文件 不可被识别;又因WITH_QTWEBKIT未定义,QWebElemen类中部分函数无法被调用,故也注释掉)

2.3 qgis_gui项目中出现CORE_EXPORT显式实例化声明无效

解决方法:
对于报错的位置——qgsoptionalexpression.h文件中,在template后添加class

重新生成解决方案。
如果完整的下载了链接库并正确引入路径,此时,不会再遇到其他问题。

我们可以在输出路径下发现生成的qgis.exe文件
示例路径:D:\QGIS\qgis-3.2.2-build\output\bin\RelWithDebInfo)

2.4 可能会报错未定义标识符,一般为QAction或QButonGroup的头文件未添加,在当前文件下添加相应头文件即可。

3.其他可能的问题(来源于网络统计)

如果出现问题,优先选择从gis_core项目、qgis_analysis项目、qgis_gui项目依次调试(其他项目均依赖于他们)
此时仍然有可能出现:

3.1 找不到 <netinet/in.h>,注释掉即可

3.2 error MSB6006: “rc.exe”已退出,代码为 5
在C盘下直接搜索该应用,将其路径配置到项目中即可。

3.3 MSVCRT.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 WinMain
这是因为——
新建项目是控制台应用程序,而程序通过的是WinMian(及windows入口函数)
可以在“qgis_core项目”->“属性”->“连接器”->“输入”附加依赖项中修改添加
D:\QGIS\OSGeo4W64\apps\Qt5\lib\qtmain.lib
重新生成即可。

3.4 链接错误或者缺少有关附加库问题
通常表现为——无法解析的外部符号;找不到、打不开.lib文件等
这与个人的主机环境有关,可以在“项目”->“属性”->“连接器”->“输入”附加依赖项中修改。
附上我的部分属性情况

Lib问题,检查附加依赖项
可以在“项目”->“属性”->“连接器”->“输入”附加依赖项中查看修改;

对于Release或者RelWithDebInfo版本,Lib路径基本如下图列举
对于Debug版本,部分Lib库名后有d标识
如下图的Qt5Cored即为Debug版本
(Debug版本与Release(RelWithDebInfo)版本的Lib名称不同,但路径一致。在工程修改版本环境时会自动更新链接,更改库名。无需手动更改。)

附加依赖项——
在这里插入图片描述

3.5 缺少可执行文件或者环境路径问题
Dll问题,检查可执行文件目录,即检查环境路径
可以在“项目”->“属性”->“VC++目录”->“可执行文件目录”中编辑查看
主要检查有无以下路径:
D:\QGIS\OSGeo4W64\apps\qt5\bin
D:\QGIS\OSGeo4W64\apps\Python37
D:\QGIS\OSGeo4W64\apps\Python37\Scripts
D:\QGIS\OSGeo4W64\bin
D:\Program Files\CMake\bin
D:\QGIS\cygwin64\bin
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\system32\WBem
运行成果
配置运行环境
编译好的qgis.exe会在目录D:\QGIS\qgis-3.2.2-build\output\bin\RelWithDebInfo下

但打开qgis.exe时会出现报错

此时,把OSGeo4W64\apps\Qt5\bin和OSGeo4W64\bin下的dll文件全部拷贝到exe文件同目录下即可

同时,把OSGeo4W64\apps\Qt5\plugins文件下的platforms文件夹也拷贝到exe文件同目录下
在这里插入图片描述
当程序运行时,找不到正确支持图标格式(svg)的库文件。这里需要把OSGeo4W64\apps\Qt5\plugins文件下的imageformats文件夹也拷贝到exe文件同目录下

当运行时还可能找不到数据库,需要把QGIS\apps\Qt5\plugins文件夹下的sqldrivers文件夹也拷贝到exe文件同目录下
再次打开运行qgis.exe
如图所示——
在这里插入图片描述

语言汉化
QGIS2版本
点击Settings->Options,选择国旗和语言(一定要选国旗),设置完成以后,重新启动即可。
QGIS3版本
依次打开 setting --> option --> General,如图:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QGIS3.10编译指南 的相关文章

  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • Q风格所有权

    在 Qt 应用程序中使用样式时 我遇到了一个有趣的问题QStyle所有权 QStyle继承自QObject 通常接受QObject parent作为构造函数参数来管理其子级的生命周期 但QStyle的构造函数没有此构造函数参数 第一个问题
  • QAbstractItemModel 如何表示树?

    我仍然很难理解 QAbstractItemModel 对项目的表示 有两种返回 QModelIndex 项的方法对我来说没有任何意义 QModelIndex QAbstractItemModel index int row int colu
  • 使 QLabel 的像素图透明

    我有一个带有 QLabel 和像素图的主窗口 我想让它透明 或不那么不透明 我正在使用下面的代码 ui gt label gt setAttribute Qt WA TranslucentBackground ui gt label gt
  • CMake AUTOMOC,文件位于不同文件夹中

    我有一个简单的 CMake 项目 proj project folder a h a cpp CMakeLists txt CMakeLists txt cmake minimum required VERSION 3 2 set CMAK
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 使用 qbs 构建 qt 应用程序

    我想知道在 Linux 上使用 qbs 编译 构建和创建 Android Qt 应用程序的步骤 我拥有所有必要的工具 目前我可以使用 qmake 创建 apk Qbs 目前不支持构建 Qt Android 应用程序 Qbs v1 4 中引入
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 如何在不声明 32 个插槽的情况下将 32 个按钮的 pressed() 信号连接到单个函数?

    我有一个小部件 里面有 32 个按钮 我需要将每个按钮的 Pressed 信号连接到一个插槽 以便调用一个函数 该函数的参数取决于我按下的按钮 现在我通过以 on QPushButtonName pressed 的形式添加 32 个插槽来做
  • QTextEdit 与 QPlainTextEdit

    有什么区别QTextEdit and QPlainTextEdit 为什么要使用其中一种而不是另一种 我正在编写一个文本编辑器作为学习 Qt5 的练习 现在我想知道是否使用QTextEdit or QPlainTextEdit 到目前为止我
  • 使用 CMake 时出现 Qt moc 错误

    我正在尝试编写一个 OpenCV 应用程序 使用 Qt 创建 GUI 并使用 CMake 生成 makefile 我遇到的问题是 当我尝试执行make命令 我收到错误 该文件是使用 5 2 1 中的 moc 生成的 它不能与此版本的 Qt
  • Android 上的 QT 应用程序中的 java.nio.channels.OverlappingFileLockException

    我的 QT 应用程序崩溃了java nio channels OverlappingFileLockException例外Nokia 1具有以下调用堆栈的设备 FATAL EXCEPTION dbp processing com googl
  • 如何使用 Qt/C++ 创建/读取/写入文件并将设置存储在程序本地

    我是一个不幸的 C 初学者 使用 Qt GUI 设计器程序似乎非常适合我的需求 但我在尝试编写所需的代码时遇到了问题 我可以使用 QSettings 字符串在硬盘驱动器上存储本地设置 但我个人讨厌程序执行某些程序所做的 HOME LOCAL
  • 在 QGis 中打开 Mapbox 地图

    我正在寻找一种在 QGis 中显示我的 Mapbox 地图的方法 在 mapbox com 上编辑的 Baselayer 以及从tilemill 上传的数据 这里有人已经找到方法了吗 有一个功能或插件可以做到这一点吗 感谢您未来的回答 Ad
  • 无法在 Qt Creator 中检索调试输出

    在 Windows 上的 Qt Creator 中 qDebug 语句不起作用 并且输出窗口中出现以下消息 无法检索调试输出 如何解决 如果多个 Qt Creator 实例处于活动状态 则可能会出现此问题 要解决此问题 只需关闭 Qt Cr
  • QNetworkAccessManager 的替代方案

    我正在BB10中绘制地图 地图被划分为图块 开始时 用户给出经度 纬度和缩放级别 地图将显示在该坐标处 我通过使用 QNetworkAccessManager 执行 http 请求来获得单个图块 首先下载 7x5 块 但问题是 当用户开始在
  • 更改 QGraphicsView 中的光标

    我正在尝试更改 a 的光标QGraphicsView而ScrollHandDrag已开启 但似乎不起作用 如果禁用 我可以更改光标ScrollHandDrag但不是在它处于活动状态时 我不知道我可能做错了什么 下面是重现该问题的代码的一部分
  • 如何禁用滚轮事件 QGraphicsView Qt C++ 上的滚动功能

    我有一个图形视图 并且我设置了自己的功能 以便在用户按下 Control 并单击鼠标时手动拖动滚动 我已经删除了滚动条 但鼠标滚轮仍然会滚动 甚至滚动到显示在图像中的图像qGraphicsView显示我的手拖动没有的空白 白色 空间 我怎样
  • 防止 QGraphicsItem 移出 QGraphicsScene

    我有一个场景 其固定尺寸从 0 0 到 481 270 scene gt setSceneRect 0 0 481 270 在里面 我有一个习惯GraphicsItem多亏了旗帜我可以移动它ItemisMovable 但我希望它留在场景中
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实

随机推荐

  • 微星主板 新版bios 开启虚拟化

    微星主板新版bios的虚拟化位置比较特别 进入bios开启高级模式 如图cpu configurationn SVM Mode就是虚拟化
  • 基于Jenkins的自动构建系统开发

    1 绪论 1 1 课题的研究背景 随着IT行业的不断发展 软件开发的复杂度也随着不断提高 与此同时 软件的开发团队也越来越庞大 而如何更好地协同整个团队进行高效准确的工作 从而确保软件开发的质量已经慢慢成为了开发过程中不可回避的问题 在软件
  • 中标麒麟离线搭建SVN服务器教程

    中标麒麟离线搭建SVN服务器教程 一 下载相应的包 subversion 1 8 18 tar gz 下载地址 http subversion apache org sqlite autoconf 3190300 tar gz 下载地址 h
  • Python 赋值和copy的区别

    Python 赋值和copy的区别 1 定义 1 1 直接赋值 对象名的引用 相当于起了一个别名 赋值不改变变量的内存地址 仅是对象的简单引用 a和b指向同一片内存区域 改变其中一个 另外一个也会改变 1 2 拷贝copy 划分新的存储地址
  • 【机器学习】Yellowbrick 包的理解和说明

    文章目录 一 介绍 二 Visualizers 2 1 Classification Visualization 2 2 Clustering Visualization 2 3 Feature Visualization 2 4 Mode
  • node.js连接mysql出现错误: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requ

    node js连接mysql出现错误 ER NOT SUPPORTED AUTH MODE Client does not support authentication protocol requested by server consid
  • 数据系统架构-8.任务调度系统

    任务调度系统 序 在有了各种数据统计任务之后 就产生了任务调度需求 我们需要把任务管理起来统一调度 保证任务之间上下游的依赖关系 监控任务运行状态 异常情况下及时告警 尽可能自动化处理异常 调度系统高可用 使每天的数据统计任务按时执行完成
  • Java之反射机制(获取Class对象的三种方式)

    Java之反射机制 获取Class对象的三种方式 开发工具与关键技术 MyEclipse 10 java 作者 刘东标 撰写时间 2019 06 14 如何得到各个字节码对应的实例对象 每个类被加载后 系统会为该类生成对应的 Class对象
  • 英特尔正式宣布于2021年推7奈米制程芯片

    英特尔 Intel 在近日举行的投资人会议上揭露了该公司的产品规画 宣布将于2021年推出7奈米制程芯片 以对抗台积电的5奈米制程产品 今年英特尔力推的Ice Lake微架构仍是基于10奈米制程 宣称预计于6月出货的Ice Lake客户端产
  • 基于卷积神经网络的高光谱分类 CNN+高光谱+印度松数据集

    基于卷积神经网络的高光谱分类 一 研究现状 只考虑到高光谱图像的光谱特征 即 1 提取特征 小波变换 Gabor纹理分析 形态学剖面 2 利用分类方法分类 支持向量机 决策树 随机森林 神经网络 缺点 这些特征提取方法需要依据先验知识手动设
  • 【YOLOv5 数据集划分】训练和验证、训练验证和测试(train、val)(train、val、test)

    YOLOv5 数据集划分 训练和验证 训练验证和测试 train val train val test 在已有测试集的情况下划分训练集和验证集 将图片和标注数据按比例切分为 训练集和测试集 import shutil import rand
  • ORACLE 根据分组排序产生序列号

    对应的语法是这样的 select row number over partition by col1 order by col2 seq 具体的场景如下 如果一张表中保存了整个年级的各个班级每个同学的语文成绩 create table Sc
  • Linux系统常用命令

    操作系统 作用 是管理好硬件设备 并为用户和应用程序提供一个简单的接口 以便于使用 作为中间人 连接硬件和软件 linux 安全 稳定 免费 占有率高 嵌入式操作系统 linux发展历程 unix gt minix gt linux 发行版
  • 自定义oh-my-zsh主题风格,代码和语法的解释

    自定义oh my zsh主题风格 代码和语法的解释 摘要 简要介绍 zsh theme的代码 不涉及函数 关键词 ohmyzsh zsh theme语法 https github com ohmyzsh ohmyzsh wiki Theme
  • ubuntu20.04为AppImage创建快捷启动器

    前言 作为一名java开发者 平时用得到的一些开源的或者实用的开发工具 他们有的都是打包为AppImage格式 这种格式的优越性在于它是临时挂载在我们的文件系统上以便运行 使用这种方法 开发人员可以将他们的应用程序打包到一个 AppImag
  • Kotlin和Android:一种语言背后的JetBrains和Google

    Google I O 2017 宣布了几项重要公告 但对我而言 最有趣的一个是Android上的 对Kotlin的一流支持 关于此公告的Kotlin博客文章讨论了这给Kotlin用户带来的好处 如果您担心Kotlin支持的其他平台 服务器和
  • React-Native开发中常用的第三方控件持续更新

    十一假期已经过去了 今天正式开工了 这里的文章我会持续进行更新 希望为开发的小伙伴们提供点帮助 如果能帮到你们 我就心满意足了 十一假期学习撸了一个小程序 欢迎各位朋友进行关注 代码已经在gitHub上开源 清风天气 清风天气 2018 1
  • python三种基本数据类型_python基础数据类型

    python常用的数据类型包括整型 int 字符串 str 布尔值 bool 列表 list 元组 tuple 字典 dict 集合 set 整型 int int操作方法 bit length 就是查看十进制数转换成二进制在内存中占用了多少
  • 第三届阿里云磐久智维算法大赛——GRU BaseLine

    赛题 比赛链接 第三届阿里云磐久智维算法大赛 天池大赛 阿里云天池 aliyun com 大赛概况 庸医只知头痛医头脚痛医脚 凡良医者 必会抽丝剥茧 察其根本 方得药到病除 第一届和第二届磐久智维算法大赛 我们针对异常预测开展了积极的探索和
  • QGIS3.10编译指南

    下载所需要软件 安装VS2015以及版本5以上的QT 根据我的电脑环境 我使用vs2015 x64 和 QT5 10 1版本 并将QT配置到VS上 安装CMake 有需要的再额外安装Python37 安装doxyden 除VS默认加入环境路