vs添加第三方库
- c++ 常规 附加包含目录 添加头文件路径
- 链接器 常规 附加库目录 添加lib文件路径
- 链接器 输入 附加依赖项 添加lib文件名称
- dll 拷贝到exe同目录,或者把dll路径添加到环境变量,或者放在“配置属性 常规 输出目录”的路径中
vs禁用警告
c++ 高级 禁用特定警告
vs发布方式,c++ 代码生成运行库
- /MD 表示不链接VC的运行时库,采用动态库
- /MT 表示静态链接
- /MDD与/MTD 用于Debug版本
vs C1010 错误信息:cpp文件中未添加预编译头
c++ 预编译头 找到预编译头文件 添加到cpp文件中
修改lib和dll名称
- 保持长度与原来一致
- 修改lib和dll的名称
- lib编辑打开,里面dll名称全部替换
./jsoncpp/include
./jsoncpp/lib
Qt 中给当前进程添加环境变量,需要在 QGuiApplication 定义之前
qputenv(“QT_IM_MODULE”, QByteArray(“qtvirtualkeyboard”));
Qt 中计算耗时
QElapsedTimer timer;
timer.start();
… do something …
qint64 elapsedTime = timer.elapsed();
qDebug() << “run time: " << elapsedTime << " ms”;
Qt 设置中文编码
- main.cpp
#include <QTextCodec>
// 设置编码为UTF-8
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
- mainwindow.cpp
#include <QTextCodec>
QTextCodec *codec;
// 设置文本编码为UTF-8
codec = QTextCodec::codecForName("UTF-8");
QString chineseText = codec->toUnicode("中文文本");
Qt6
- qt 6.0 中模块合并、移除、重构,3D引擎 6.5 版本与之前不兼容。所以qt版本选择5.15.2或者6.5,6.5之前的6.0版本不建议使用
- 商业版 qt on mcu 是第三种qt框架,程序可以跑在单片机上。qml 转 C++
- qt on mcu 依赖系统,不同 ARM 架构都可支持
- 官网查看信息,qt 6时代,打算在pc上qml转c++,效率更高
- qt on android 适配不方便,不再用qt开发安卓
- qt 5.6.3 是最后一个GPL授权,后面都是LGPL授权
- qt quick designer 已移除
- 用鼠标键盘点击的操作,静态界面,可以用widget开发。有手势操作,像素级要求比较高,界面动态元素较多时用qml开发
- design studio 可支持其他软件的设计文件导入(photoshop,maya等),插件收费?
- design studio 4.2 不支持 qt5,qt 5.15.2 可配 design studio 4.1.1
windows 编译 dlib
参考:https://zhuanlan.zhihu.com/p/67297010
- 显式地禁止使用blas,lapack,cuda和mkl依赖
- 编译生产dlib.lib
- 将 dlib-19.24\output\dlib\config.h 替换 dlib-19.24\dlib\config.h
- 调用 dlib 库时报错,error: C2872: “ACCESS_MASK”: 不明确的符号,需要注释 “using namespace cv;”
Win10平板边缘滑动手势大全及开启/关闭方法
- 打开注册表编辑器,regedit
- 定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
- 新建文件夹 EdgeUI
- 在 EdgeUI 中新建 DWORD(32位) 值,重命名为 AllowEdgeSwipe
- 设置为 0 禁用边缘滑动手势,设置为 1 则启用
- 重启电脑生效
windows 设置软件开机自启
把软件的快捷方式拷贝到:C:\Users\DELL\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
或者通过 win + r 输入 shell:Common Startup 就会自动跳出启动文件夹
设置 TwinCAT 中的变量可以进行ADS通信
- 选择 Instance 或者 Obj
- 选择 Data Area
- 勾选 CS 选项
Qt Creator 经常出现红色下划线,报 semantic issues
帮助 -> 关于插件 -> C++ -> ClangCodeModel 不勾选,重启 Qt Creator
子类继承一个静态库中的基类,子类中无法添加成员变量
子类成员变量导致父类成员变量的偏移量发生变化。在静态库中,类的成员变量的偏移量是固定的。如果子类添加成员变量,则会导致父类成员变量的偏移量发生变化,从而导致程序异常
vs中同一个解决方案下多个项目的构建顺序
可以修改项目生产顺序,添加项目依赖项
error C1010: 在查找预编译头时遇到意外的文件结尾,是否忘记了向源中添加“#include “stdafx.h””?
查看 Windows 报错信息
win + x -> 选择事件查看器
可以在 Windows 日志中查看错误信息
TwinCAT 3 C++/Simulink教程
使用 extern 修饰变量,引发LNK2001无法解析的外部符号
extern 修饰变量未做初始化
error C2872: “ACCESS_MASK”: 不明确的符号
注释掉所有的 using namespace cv
Qt6 qml 中的类型断言
Item {
property color parentColor: (parent as Rectangle)?.color || "red"
}
qml 中验证数据类型
if ( xxx instanceof Image ) {
console.log("true")
} else {
console.log("false")
}