1.(未完)ubuntu20.04 qt6.2.4 aarch64 开发编译环境配置
2.linux ç»ç«¯ è¿è¡ python
3.编译实战 | 手摸手教你在Windows环境下运行Redis6.x
4.WSL2子系统安装CentOS8及源码编译Nginx1.18+PHP7.4+MySql8.0开发环境
5.给萌新的环境C/C++环境搭建攻略(VSCode和MSYS2)
(未完)ubuntu20.04 qt6.2.4 aarch64 开发编译环境配置
install QT6
更新
下载安装工具
文件权限
运行在线安装文件
如果遇到问题:
重新安装libxcb-xinerama文件
重新运行
输入账号,然后安装。下编选择一个版本,译源如6.2.4整个勾上,码c命令然后Next到下载界面。编译
install opencv
下载opencv
解压到指定文件夹
新建build文件夹,环境polkadot源码解析cmake编译
编译程序,下编编译完成后安装
install eigen
下载eigen release
解压
编译
完成eigen3的译源安装
QT include opencv eigen项目迁移到ubuntu后的编译中的报错问题
就可以正常启动qt creator了。
解决方法:
通常安装后就能解决问题,码c命令如果不行,编译考虑下面的环境软链接方法。
详细见 qt构建遇到 cannot find -l xxx 问题_qt cannot find -l-CSDN博客、下编 Linux的译源Qt编译出现:-1: error: cannot find -lGL问题的解决方法-CSDN博客
虽然教程是用的野火鲁班猫,但是码c命令方法是通用的
安装cmake及其他
查看cmake版本
关于烧录Raspberry pi Image
树莓派插入SD卡并通电。(使用 Raspberry Pi Imager完成SD镜像烧录。编译)
可以下载( Ubuntu Lts)作为烧录镜像
Ubuntu server无界面,使用SSH远程访问,工坊源码使用finalshell:
IP查看tplink中的树莓派IP,端口默认是
QT creator添加Device
添加设备,可以在局域网中找到设备。
打开设置,然后add一个Device
需要填写IP,端口,user name, 如果没有key,就生成一个key file,然后链接,期间需要输入username对应的密码。出现下面窗口就是配置好了。
详细可以看这个链接 7. 远程连接 - [野火]嵌入式Qt应用开发实战指南-基于LubanCat-RK开发板 文档
qt creator kits交叉编译
PC的Ubuntu.中下载交叉编译包 arm-linux-gcc,然后在ARM板卡上部署测试。参考这个网址:
aarch对应教程如下:
3. Qt程序编译 — [野火]嵌入式Qt应用开发实战指南—基于LubanCat-RK开发板 文档 (embedfire.com)
安装交叉编译器:
先看看自己虚拟机(PC)的信息
然后看下嵌入式设备(arm)的信息
针对arm嵌入式系统,使用Ubuntu.系统apt 安装交叉编译器, 其安装命令是银图源码
通过这个指令获取就不用下面的操作下载压缩包了,
从网盘获取交叉编译器、Qt库文件(针对aarch平台)、sysroot文件 # 复制文件到虚拟机系统中
查看解压到的位置
查看刚才解压的文件。
安装完了之后在terminal中输入aarch + TAB,如下就是安装成了:
编译源码测试:
先写个c文件交叉编译试试
main.cpp内容:
编译通过后通过file指令查看文件类型是否是ELF:bit LSB shared object,ARM aarch...。如果是,则完成源码编译。
编译后生成了main可执行文件,拷贝到arm平台测试,查看输出:hello world!!!。
Qt编译arm(aarch)环境搭建
下载qt6.2.4源代码,在虚拟机上编译aarch版本的库文件
打开QT Creator,打开kits配置套件
如下添加一个/opt目录下的qmake
添加gcc g++ aarch编译器
添加一个构建套件kit, 如下:
源程序选择构建套件并运行:
在嵌入式设备linux系统上运行编译好的程序:
复制Qt库到板卡,然后设置相应的环境变量,就可以运行程序。卡云源码 先复制前面编译的Qt程序到板卡,然后简单运行程序:
使用winscp拷贝依赖文件到嵌入式设备上,如树莓派:
解压完成后,设置该库为环境变量
并重新运行程序
如果要永久变更,就在~/.bashrc中写入
终端运行:
板卡上可能要安装一些库
linux ç»ç«¯ è¿è¡ python
Linuxç»ç«¯ä¸çæä½åæ¯ä½¿ç¨å½ä»¤è¡æ¥è¿è¡çãå æ¤ï¼å¯¹äºå°ç½æ¥è¯´ï¼çè®°å 个åºæ¬çå½ä»¤è¡å使ç¨æ¹æ³è½å¤è¾å¿«çå¨Linuxå½ä»¤è¡ç¯å¢ä¸å°pythonç¨èµ·æ¥ã
æå¼å½ä»¤è¡çªå£
æå¼å½ä»¤è¡çªå£çå¿«æ·é®å¦ä¸ï¼
Ctrl + Alt + t
å ³éåå½ä»¤è¡çªå£
å ³éå½ä»¤è¡çªå£çå¿«æ·é®å¦ä¸ï¼
Ctrl + d
è¿å ¥pythonç¯å¢
å¨å½ä»¤è¡ä¸ç´æ¥è¾å ¥pythonå³è¿å ¥äºpythonçç¼è¾ç¯å¢ãè¿å ¥ç¯å¢åæææ¾çæ示æ¯ï¼å æ ç±ï½$åæ>>>ã
éåºpythonç¯å¢
使ç¨ctrl +dçæ¹å¼éåºpythonç¯å¢ãåå°å½ä»¤è¡ç¯å¢ã
å¨pythonç¯å¢ä¸è¾å ¥å¤è¡å½æ°
å¨pythonç¯å¢ä¸ï¼å车æ¯è¾å ¥ç»æ并æ§è¡è¯å¥ãå¨è¾å ¥å¤è¡å½æ°çæ åµä¸ï¼è¾å ¥ä¸è¡åå车åç´æ¥è¿è¡äºæå¥ä»£ç èä¸æ¯æ´ä¸ªå½æ°åãå æ¤ï¼éè¦è½å¤æ¢è¡ä½ä¸ç»æè¾å ¥çæ¹æ³ã
å¨è¯å¥çæ«å°¾è¾å ¥è±æç;\å³å¯å®ç°æ¢è¡ã
ä¾å¦ï¼
1
2
3
def weight_variable(shape):
initial = tf.truncated_normal(shape, stddev=0.1);\
return tf.Variable(initial);\
注æï¼è¾å ¥å½æ°åæ¶æ³¨æ缩è¿ï¼å¦è ä¼æ¥åºIndentationError: unexpected indent pythoné误ã
non-ascii character xe5 in file解å³æ¹æ³
åå ï¼ç¨åºä¸çç¼ç é误ï¼pythoné»è®¤æ¯æacii模å¼ï¼ä½ä¸æ¯æutf8ï¼å æ¤ï¼ç¨åºä¸çä¸æ注éä¼å¼åErrorã
解å³æ¹æ³ï¼æºä»£ç æ件第ä¸è¡æ·»å #coding:utf-8å³å¯é¿å ã
éåºpythonç¯å¢
使ç¨ctrl +dçæ¹å¼éåºpythonç¯å¢ãåå°å½ä»¤è¡ç¯å¢ã
å¨pythonç¯å¢ä¸è¾å ¥å¤è¡å½æ°
å¨pythonç¯å¢ä¸ï¼å车æ¯è¾å ¥ç»æ并æ§è¡è¯å¥ãå¨è¾å ¥å¤è¡å½æ°çæ åµä¸ï¼è¾å ¥ä¸è¡åå车åç´æ¥è¿è¡äºæå¥ä»£ç èä¸æ¯æ´ä¸ªå½æ°åãå æ¤ï¼éè¦è½å¤æ¢è¡ä½ä¸ç»æè¾å ¥çæ¹æ³ã
å¨è¯å¥çæ«å°¾è¾å ¥è±æç;\å³å¯å®ç°æ¢è¡ã
ä¾å¦ï¼
1
2
3
def weight_variable(shape):
initial = tf.truncated_normal(shape, stddev=0.1);\
return tf.Variable(initial);\
注æï¼è¾å ¥å½æ°åæ¶æ³¨æ缩è¿ï¼å¦è ä¼æ¥åºIndentationError: unexpected indent pythoné误ã
non-ascii character xe5 in file解å³æ¹æ³
åå ï¼ç¨åºä¸çç¼ç é误ï¼pythoné»è®¤æ¯æacii模å¼ï¼ä½ä¸æ¯æutf8ï¼å æ¤ï¼ç¨åºä¸çä¸æ注éä¼å¼åErrorã
解å³æ¹æ³ï¼æºä»£ç æ件第ä¸è¡æ·»å #coding:utf-8å³å¯é¿å ã
编译实战 | 手摸手教你在Windows环境下运行Redis6.x
哈喽大家好啊,我是没事就愿意瞎捣鼓的Hydra。
不知道有没有小伙伴像我一样,平常开发中用的是windows操作系统,有时候想装点什么软件,一看只支持linux系统,无奈要么启动虚拟机、要么装在云服务器上。
这不前几天又是这样,刚想用一下Redis 6.x版本来尝试一下新特性,打开官网一看,好家伙我直呼内行,课加加源码果然不支持windows系统:
不过虽然redis的官网上不提供windows版本下载,但是这也难不倒我这个面向百度编程的小能手,一番查找后让我找到了微软在github上维护的几个可以在windows上运行的redis版本:
项目的git地址是f配置文件,启动MySql。
. 源码编译安装php7.4
下载php7.4源码,安装编译工具和库文件,创建用户组和用户,配置编译参数,解压缩并移动到指定目录,检查配置并生成配置文件,安装完成。
. LNMP环境测试
测试Nginx和PHP-FPM的配合,配置Nginx和PHP-FPM,通过phpinfo文件验证php和Nginx的配合情况,测试phpMyAdmin,确保数据库连接无误,至此,LNMP环境测试完成。
给萌新的C/C++环境搭建攻略(VSCode和MSYS2)
本文写给刚接触编程、希望了解一些原理的CS萌新,会介绍一些基本的概念并且推荐一些方便的工具。
像这句话一样写于引用块中的内容一般为补充内容,第一次阅读时可以略过。由于是面向新手的文章,所以比较长,请耐心阅读。本文不定期更新。
VSCode无所不能,连本文都是用VSCode写的,大家都快来用VSCode(bushi)
由于VSCode本质上是个高级记事本,因此配置它需要一些前置知识。
1. 源代码和编译
源代码文件是存放代码的文本文件,C代码文件的后缀名一般为.c,C++代码文件的后缀名一般为.cpp,头文件的后缀名一般为.h,它们都是文本文件(所以可以用记事本打开编辑)。
文本文件是不能运行的,所以我们需要把写好的代码翻译成机器能够执行的形式,这个过程就被称为编译。用来编译代码生成可执行文件的程序被称为编译器,目前主流的C/C++编译器有MSVC(cl.exe)、GCC(gcc/g++)和LLVM(clang/clang++)
准确地说源代码文件要变成可执行文件需要进行预处理、编译、汇编、链接等步骤,可以参阅 这篇文章
1.2 命令行和环境变量
命令行界面就是科幻**中常见的那种全是字符的界面,我们通过输入一些命令来执行操作。
windows上自带的cmd和powershell就是命令行界面,可以按Win+R输入cmd或powershell来启动它们。启动后会有一串字符提示你现在在哪个路径下,我们可以通过cd命令来切换当前所在的路径。
小技巧:在文件管理器按F4会跳到路径栏,输入cmd并回车即可在此文件夹打开cmd(不用再cd了)。不知为何windows自带的powershell不能这么打开win的用户可以直接右键在当前路径打开Windows Terminal
1.2.1 在命令行界面运行程序
只要输入一个程序的相对路径或者绝对路径,就能够运行那个程序(可以不用写.exe)
以powershell启动steam为例:
powershell需要./或者.\来运行当前路径下的程序,但cmd应直接输入
1.2.2 path变量
每次都需要输入程序的路径当然相当麻烦,有没有办法简化一点?
答案就是利用path变量。
path变量顾名思义,其中存放了一系列的路径。当你在命令行输入的程序不在当前目录下时,系统就会依次去这些路径里找有没有名字一样的程序。所以只要我们把程序的路径加入到path变量,就可以在任意路径下运行它啦。
例如:将E:\steam_main添加到path变量中后,就可以在任意路径下输入steam来启动steam
1.2.3 修改path变量
Win+S搜索path,选择修改系统环境变量,点开环境变量,然后在用户变量(只对当前用户起效)或者系统变量(对所有用户起效)中找到path变量,双击修改即可。
Windows的环境变量有字符的最大长度限制,所以不要随便什么东西都往path变量塞顺便一提,windows单个路径的长度也有字符的限制(不要问我是怎么发现这一条和上一条的
1.3 编辑器和IDE
编辑器指的是用来编辑源代码文件(文本文件)的程序,windows自带的记事本就是一种编辑器。编辑器可以提供代码高亮、补全等功能,但本身并不负责把代码编译成可执行文件,所以需要和编译器搭配使用。
集成开发环境(IDE),是把编辑器、编译器和其它组件整合到一起的一整套程序。可以直接用它编写代码、编译、调试程序等等,但一般需要你先建一个工程。例如 Dev-C++就是经典的C++ IDE.
VSCode是一种编辑器,因此需要我们另外下载编译器来编译代码,并且通过一些设置使VSCode能方便地调用编译器并运行编译出来的程序。
所以我们需要做的就是: