C++|Windows|Linux开发
c++
真·skysys
萌即正义 ^ω^ ヾ(o◕∀◕)ノヾ ヽ(≧□≦)ノ ヾ(・ω・`。)
展开
-
ubuntu 爬虫任务相关常用命令
ubuntu 爬虫任务原创 2022-11-04 20:14:18 · 524 阅读 · 0 评论 -
ubuntu安装python模块并执行
需要把目录添加到$path下。原创 2022-10-29 16:37:09 · 982 阅读 · 0 评论 -
MFC # 无法向此非ccmdtarget派生类添加任何命令
使用类向导时报错:无法向此非ccmdtarget派生类添加任何命令解决方法:① 关闭对应的解决方案② 删除下面的目录debug或者release③ 删除.vs文件夹和.sdf文件(有的话)转载 2021-12-30 05:41:00 · 1101 阅读 · 0 评论 -
MFC # 资源视图在另一个编辑器中打开
1.窗口——>关闭所有文档2.在资源视图中重新打开xxx.rc(双击xxx.rc再双击)转载 2021-12-30 04:20:36 · 1147 阅读 · 0 评论 -
如何使用Xshell连接VMware上的Linux虚拟机
检查Linux虚拟机的网络连接模式,确保它是NAT模式。(由于只在本机进行连接,所以没有选择桥接模式。当然,桥接模式的配置会有所不同,在此不做深入分析)在VMware workstation里,点击菜单栏上的【编辑】–>【虚拟网络编辑器】,打开下方的虚拟网络编辑器。选择VMnet8(NAT模式),取消勾选【使用本地DHCP服务…】(若勾选,会设置动态IP)。在下图中,点击NAT设置。记住上图中的子网IP范围,如上图所示表示虚拟机在192.168.44.0~192.168.44.255范.转载 2021-11-01 19:39:03 · 9734 阅读 · 3 评论 -
ubuntu 小米笔记本wifi问题
缺驱动查看当前网卡版本lshw -C networkWireless interface这里是无线网卡, RTL8821CE 802.11ac PCIe Wireless Network Adapter网卡型号是RTL8821CE ,然后去github找对应驱动,注意一定不要搞错型号,不是这个型号的别按我的方法做,一般驱动安装都有对应的安装教程 *-generic DISABLED description: Wireless interface pr转载 2021-08-26 20:27:12 · 435 阅读 · 0 评论 -
Ubuntu关闭蓝牙开启启动
sudo gedit /etc/rc.local然后,加入下面一行rfkill block bluetooth转载 2021-08-26 20:10:05 · 586 阅读 · 0 评论 -
Ubuntu禁用自动连接远程打印机
sudo service cups-browsed stop原创 2021-08-25 01:02:25 · 1413 阅读 · 2 评论 -
QGC二次开发 # 视频流代码分析
视频GUI代码分析Gui代码的根:MainRootWindow.qml配置文件的代码:GeneralSetting.qml _videoSettings.videoSource settingmanager -> _videosettings videosetting.h -> DEFINE_SETTINGFACT(videoSource)视频GUI代码FlyView.qml - MainRootWindow除了header(上面的toolbar部分)的部分是fl原创 2021-08-24 22:41:16 · 2021 阅读 · 0 评论 -
在 QQuickWidget 中使用 qmlglsink 播放视频
参考代码:github核心代码:...gst_init (&argc, &argv);...GstElement *pipeline = gst_pipeline_new (nullptr);GstElement *src = gst_element_factory_make ("videotestsrc", nullptr);GstElement *glupload = gst_element_factory_make ("glupload", nullptr);/* th转载 2021-08-24 19:33:44 · 1184 阅读 · 1 评论 -
qmlRegisterType
int qmlRegisterType(const char * uri, int versionMajor, int versionMinor, const char * qmlName)实例:qmlRegisterType<GLVideoItemStub>("org.freedesktop.gstreamer.GLVideoItem", 1, 0, "GstGLVideoItem");目的:将C++实现的类在QML中调用的,连接C++和QML的一个工具This template原创 2021-08-23 21:14:48 · 666 阅读 · 1 评论 -
Q_UNUSED 的使用
Q_UNUSED 的使用在构建比较大型的工程的时候,若继承,重构虚函数,写数据model等等比较多的时候,会给出大量的 “未引用的形参” ,“warning: unused parameter ” 的告警。这种告警多了会影响看出真正有问题的地方。例如:warning C4100: “parent”: 未引用的形参这是可以在 该函数里面使用: Q_UNUSED (parent)来去掉这种告警,或者在 .pro文件里面添加 :QMAKE_CXXFLAGS += -Wno-unused-paramet转载 2021-08-19 23:35:33 · 585 阅读 · 0 评论 -
QT 音视频开发 基于gstreamer框架
环境:apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0原创 2021-08-17 21:50:52 · 5205 阅读 · 2 评论 -
Error while building/deploying project xxx When executing step “qmake“
前提概要 移动一个QT工程位置后,编译就报错了。原因 移动QT工程所在的绝对路径有中文,QT工程所在位置的绝对路径不能有中文提示 移动QT工程后,注意先将工程中 xxx.pro.user 文件删掉在打开 如果是cmake的话,把cmakelists.txt.user删掉...原创 2021-08-13 16:39:24 · 659 阅读 · 0 评论 -
Ubuntu Add the installation prefix of “Qt5“ to CMAKE_PREFIX_PATH or set “Qt5_DIR“
export CMAKE_PREFIX_PATH=/home/skysys/Qt5.12.8/5.12.8/gcc_64//home/xxxx(你自己的账户)/(qt版本)原创 2021-08-12 14:59:59 · 3470 阅读 · 0 评论 -
[Ubuntu] 运行.AppImage格式文件
右键Properties, Permissions勾选Allow executing file as program,如图转载 2021-04-08 20:42:13 · 757 阅读 · 0 评论 -
Ubuntu用户提权到Root
在shell里面输入 sudo vim /etc/passwd 将里面的当前用户的ID值进行修改。譬如我的当前用户是chenjieb则找到了 chenjieb:x:1000:1000:Administrator,,,:/home.chenjieb:/bin/bash 将两个1000改成0即可。即最后改完的结果为:chenjieb:x:0:0:Administrator,,,:/home.chenjieb:/bin/bash 最后将Ubuntu系统进行注销,然后在登陆的用户名里输入 你自己的用转载 2021-03-12 18:34:36 · 3328 阅读 · 0 评论 -
Ubuntu 删除客人会话、清除其他用户
关闭客人会话修改配置文件sudo vim /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf输入下列内容[Seat:*]guest-wrapper=/usr/lib/lightdm/lightdm-guest-sessionallow-guest=false需要重新开启客人会话删除allow-guest=false即可删除用户sudo userdel xxxxx(如果包括用户文件也删除,带上-r参数)sudo u原创 2020-11-04 02:40:28 · 1632 阅读 · 0 评论 -
vc6代码转到VS8以后的CString::m_pchData undefined 的解决办法
如果你问我软件开发有什么经验的话,那么我的一条经验就是:尽可能设想多种解决方案,在多种解决方案中选择一种代价较少的最优解决方案。比如今天解决了一个问题便是这条经验的一个证明。今天我将一个VC 6的工程转为VS 2008工程,在编译时遇到了问题,原因是里面用到了一个开源字符串类CStringEx,它派生自CString。CString在VC 6的实现中有一个数据成员m_pchData,在CStringEx类中自然也用到了这个数据成员。但在VS 2008中的CString的实现完全没有了m_pchData这个数转载 2020-12-15 14:42:56 · 309 阅读 · 0 评论 -
C++编写DLL
在写C++程序时,时常需要将一个class写成DLL,供客户端程序调用。这样的DLL可以导出整个class,也可以导出这个class的某个方法。DLL编写一、导出整个class方法很简单,只需要在类的头文件中class和类名之间加上_declspec(dllexport),同时在另外一份提供给客户端调用程序使用的类的头文件中class和类名之间加上_declspec(dllimport)。为了能让客户端程序和DLL程序公用该类的一份头文件,通常在类的头文件中使用宏和预编译指令来处理。如下DLLTest转载 2020-12-09 00:54:35 · 2256 阅读 · 0 评论 -
VS2019快速打断点
以前特别蠢,右键添加断点…(太憨了)在上图所示区域,单击即可添加断点原创 2020-11-11 11:43:23 · 4493 阅读 · 6 评论 -
0x5afd57aa处有未经处理的异常:0xC0000005:读取位置0xcdcdcdc1时发生访问冲突
0x5afd57aa处有未经处理的异常:0xC0000005:读取位置0xcdcdcdc1时发生访问冲突0xC0000005一般是NULL指针造成的。在Debug状态下,出现异常的时候,选择“Break“,然后看程序停在那一行,再看看是否是这一行使用了NULL指针。...转载 2020-11-10 15:34:59 · 1616 阅读 · 0 评论 -
C语言 二位数组的动态创建和销毁
最常用的方法:使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组int **b=new int*[row]; //分配一个指针数组,将其首地址保存在b中 for(i=0;i<row;i++) //为指针数组的每个元素分配一个数组 b[i]=new int[col]; 该方法定义的动态二转载 2020-11-10 15:10:59 · 985 阅读 · 0 评论 -
C++类中引用成员和常量成员的初始化(初始化列表)
如果一个类是这样定义的:Class A{ public: A(int pram1, int pram2, int pram3); privite: int a; int &b; const int c; }假如在构造函数中对三个私有变量进行赋值则通常会这样写:A::A(int pram1, int pram2, int pram3){ a=pram1; b=pram2转载 2020-11-08 20:23:45 · 1800 阅读 · 0 评论 -
C++之多文件编程实战
一、基本结构从简单的多文件项目开始吧!通常分为三部分:main.cpp,aclass.cpp,aclass.h三个部分:aclass.h:函数原型使用#define或const定义的符号常量结构体声明类声明模板声明内联函数aclass.cpp:包含与结构体、模板、类相关的函数代码main.cpp:包含调用与结构体、模板、类相关的函数代码二、“”和<>的区别包含自定义的头文件时,用双引号“”,编译器首先查找当前工作目录或源代码目录;如果没有找到,则将在标准转载 2020-11-08 03:26:48 · 612 阅读 · 0 评论 -
断言(assert)的用法
我一直以为 assert 仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错"。在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert() 的用法像是一种"契约式编程",在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个 if 语句:if(假设成立){ 程序正常运行;}else{ 报错&&终止程序!(避免由程序运行引起更大的错误) }但是这样写的话,就会有无数个 if 语句,甚至会出现,转载 2020-11-07 16:31:25 · 493 阅读 · 1 评论 -
c++ 配置类
网上一个热心的大牛分享了一个c++配置类,如下:Config.h //Config.h #pragma once #include <string> #include <map> #include <iostream> #include <fstream> #include <sstream> /* *转载 2020-11-05 19:53:27 · 716 阅读 · 0 评论 -
N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效在执行sudo apt-get update时出现题目中标题的错误,解决步骤如下:将google-chrome.list.1文件的下载源复制到google-chrome.list(先清空)sudo gedit /etc/apt/sources.list.d/google-chrome.list.1(复制其内容到清空后的google-chrome.list)s转载 2020-11-05 16:58:29 · 2360 阅读 · 0 评论 -
c++多个文件中如何共用一个全局变量
c++多个文件中如何共用一个全局变量例子:头文件:state.h 源文件:state.cpp其它源文件:t1.cpp t2.cpp t3.cpp, 这些源文件都包含头文件state.h。需要定义一个全局变量供这些源文件中使用:方法如下1、在 state.h声明全局变量: extern inta;2、在state.cpp中定义该全局变量:int a =10;这样其它源文件就可以使用该变量啦这里需要的是“声明”,不是“定义”!根据C++标准的规定,一个变量声明必须同时满足两个条件,否则就转载 2020-11-05 15:37:20 · 4868 阅读 · 0 评论 -
C++读写Excel
依赖库下载地址:https://download.csdn.net/download/hao2001/3036187参考教程:https://blog.csdn.net/lpf1990823/article/details/17316281原创 2020-11-04 12:07:04 · 1443 阅读 · 0 评论 -
linux下 c/c++开发环境配置
VSCode下载:https://code.visualstudio.comsudo dpkg -i code_1.38.1-1568209190_amd64.deb然后vscode就安装完成了。配置插件:c/c++,C++ Intellisense,cmake,cmake toolsubuntu16.04 默认安装的cmake为3.5.1版本,而vscode的cmake插件要求cmake>=3.7.1,因此需要更新cmake附上更新教程:https://blog.csdn.net/qq原创 2020-11-04 10:48:26 · 467 阅读 · 0 评论 -
Linux 软件安装目录
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可转载 2020-11-04 10:11:07 · 183 阅读 · 0 评论 -
ubuntu 双屏显示的设置
出自:https://blog.csdn.net/tianmaxingkong_/article/details/50570538在ubuntu系统下使用xrandr实现双屏幕显示:一.首先直接运行xrandr命令,查看设备的相关信息:运行之后会显示当前连接设备的屏幕信息,如下图,LVDS和VGA-0,而HDMI屏幕为disconnect,意为没有连接:二.设置双屏幕显示:(1)打开外接显示器,双屏幕显示相同的内容–克隆,(auto为最高分辨率)xrandr --output VGA-0转载 2020-09-28 12:29:09 · 4423 阅读 · 0 评论 -
小米笔记本关闭UEFI secure boot
开机过程中不停按F2进入BIOS设置,光标移动到Security,点击Set Supervisor Password设置一个BIOS密码,输入两次相同的密码,点击YES保存;然后选择Secure Boot Mode,将Enabled改成Disabled,关闭安全启动;按F10保存重启,如果已经制作好U盘启动盘,则重启过程中按F12,调出Boot Manager启动项菜单,选择EIF USB Device回车即可进入U盘启动盘。...转载 2020-09-18 13:26:45 · 12188 阅读 · 0 评论 -
ubuntu更改镜像源(软件源)
更新Ubuntu软件下载地址1. 寻找国内镜像源所谓的镜像源:可以理解为提供下载软件的地方,比如Android手机上可以下载软件的91手机助手;iOS手机上可以下载软件的AppStore2. 备份Ubuntu默认的源地址sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup3. 更新源服务器列表4. 更新源做完此步骤之后,就可以进行apt-get install 下载了Ubuntu软件操作的转载 2020-09-18 12:46:43 · 1155 阅读 · 0 评论 -
制作Win&kali Linux双系统
如果只是想装双系统如win&linux而非kalilinux的话 推荐选择ubuntu Linux如果只是要镜像装虚拟机的话倒是很简单就不写了。 直接下载kali提供的vm文件。Ref:http://blog.sina.com.cn/s/blog_8c8d4e710102wggl.htmltools: 分区助手http://www.disktool.cn/index.html EasyBCD原创 2016-12-11 15:35:25 · 576 阅读 · 0 评论 -
MFC 课设常见问题
怎么修改APP标题和icon?参考:【1】https://blog.csdn.net/ruihaha/article/details/50266637【2】https://www.cnblogs.com/rechen/p/5100593.htmlvs2010/2019默认不生成ipch文件和.sdf文件参考:https://blog.csdn.net/qq_44713105/article/details/89113392...原创 2020-07-04 11:42:13 · 395 阅读 · 0 评论 -
Visual C++程序设计 # 机试操作复习 (MFC机试)
考试环境: VS2010 (适用于NCEPU)个人总结,禁止转载猜测考试题型为:单文档里嵌入对话框编译异常处理方法如果确认代码无误,选择重新生成解决方案,尝试能不能解决问题1 基于对话框的应用程序基础知识 学会修改控件的ID 学会拖拽控件 学会修改Static Text\Button\对话框的标题(Caption) 学会给控件添加Value型变量[ctrl+shift+x] 学会设置Edit的只读(readonly) 学会添加Button的click事件 [双击Button].原创 2020-06-11 15:12:09 · 463 阅读 · 1 评论 -
Windows编程与MFC # 4 单文档应用程序(5)
19.1 如何画一条带颜色的直线换一支新画笔在画点或画线时,系统使用当前DC中的画笔,所以想画出不同颜色、线型和粗细的直线,需要使用新画笔。在创建画笔后必须将其选入DC才会在绘图时产生效果。绘图工具类MFC 中定义了一些 Windows 的图形设备界面(GDI)对象类,即绘图工具类,它们是 作图的笔、给图形涂色的画刷,以及字体、位图、区域和调色板等影响绘图的工具。绘图工具类主要有:CGdiObject、CPen、CBrush、CFont、CRgn 和 CBitmap 类等。 其中 CGdiOb原创 2020-06-11 03:47:02 · 607 阅读 · 0 评论 -
Windows编程与MFC # 4 单文档应用程序(2)
参考我校VC++程序设计课件鼠标消息响应修改之前的程序,运行后使用菜单命令,调用对话框输入显示的文本内容,在鼠标点击位置显示文本。(1)在上例中,已经做好的对话框资源保留不变。在本例中只需要使用该对话框输入的文本内容,输入的坐标值不在本例中使用。(2)为视图类添加鼠标消息WM_LBUTTONDOW和WM_LBUTTONUP的响应函数。(3)编写鼠标消息的响应函数。当用户在视图窗口中单击鼠标左键时,应用程序要捕获鼠标,记下鼠标当时的位置坐标,以便将文本串显示于该位置。当用户松开鼠标左键时.原创 2020-05-19 19:24:10 · 875 阅读 · 0 评论