C/C++
三多学长
人生的意义是什么
展开
-
CMake链接Open3D和ROS
CMake链接Open3D和ROS原创 2023-02-20 03:32:43 · 569 阅读 · 0 评论 -
VS中链接lib和dll总结,以及错误0xc000007b的处理方法
在windows下面基于VS开发C++/C程序,链接外部库时dll和lib都是必不可少的,lib是编译时用到的,dll是运行时用到的。(参考:lib 和 dll 的区别、生成以及使用详解)VS在生成解决方案时会按照当前路径、属性表中的库目录和环境变量中的路径链接所需库文件。例如在配置opencv时,一般会在包含目录中添加头文件路径,库目录添加lib路径,而在环境变量中添加dll路径即bin文件...原创 2019-10-11 23:21:12 · 1181 阅读 · 1 评论 -
初探Eigen(error C2719: “Qcw”: 具有 __declspec(align('16')) 的形参将不被对齐)
想写一个方向余弦矩阵转四元数的小函数,试用Eigen,如下所示:bool DCM2Q(Eigen::Matrix3f DCM, Eigen::Vector4f Qcw)结果编译却出现错误:error C2719: “Qcw”: 具有 __declspec(align('16')) 的形参将不被对齐查询了一下文档,找到了解决方法也就是把形参改成引用的形式即可。bool DCM原创 2017-10-11 21:13:59 · 1495 阅读 · 0 评论 -
linux 多线程串口编程总结
最近在玩DJI M100,调用API获取GPS位置时发现高程定位完全是错的(负的几百多米),查了一下文档说高程数据是由气压计得到的,而飞行控制时又需要比较可靠的高度信息,于是乎决定用上我们实验室的搭载Ublox芯片的板子搞事情,在子线程通过串口接收板子的定位结果,在主线程调用,开发环境为Ubuntu16.04/14.04,前者为虚拟机,后者为manifold。1.串口编程(只读)...原创 2018-01-26 21:28:00 · 10504 阅读 · 0 评论 -
error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private
今天把windows下的文件流读写代码转到Linux下时一直提示如题所示错误,有段时间没写过cmake了一时半会不知道哪里出了问题,然后查到出错的地方看到fstream的源码,if __cplusplus >= 201103L // 27.8.3.2 Assign and swap: basic_fstream& operat...原创 2018-10-15 13:54:08 · 1112 阅读 · 0 评论 -
git删除已经推送到远程的文件夹
参考:https://www.cnblogs.com/johnsonshu/p/6822744.htmlgit rm -r --cached your-directorygit commit -m 'Remove the now ignored directory "your-directory"'git push origin master转载 2018-11-02 14:28:19 · 1493 阅读 · 0 评论 -
Ubuntu 配置VSCode 断点调试
习惯了Windows下Visual Studio的强大编译调试功能,现在大部分开发都在ubuntu下,VScode同样也很强大,可拓展性很强。为了进一步提高效率,折腾了一下debug模式的配置,照着其他博客config的或多或少都有问题,所以提供一个“靠谱版”供大家参考。语言:C/C++。1.在CMakeLists.txt中设置build类型为“debug”,相比release可能...原创 2018-11-14 22:08:08 · 1844 阅读 · 0 评论 -
No package 'opencv' found引起的故事——Ubuntu环境变量与pkg-config
今天在使用一款相机的SDK时用到MakeFile进行编译,其诡异的语法令人头大不已,所以一开始出现问题时慌了阵脚,到最后一番折腾静下心来才找到问题之关键——环境变量和pkg-config。遇到的问题是这样的:Package opencv was not found in the pkg-config search path.Perhaps you should add the direc...原创 2019-02-28 00:47:54 · 28054 阅读 · 6 评论 -
C++“(已隐式声明)--它是已删除的函数 ” “尝试引用已删除的函数”知识点MARK
今天写一个简单的文件处理工具类时遇到了一个新bug,是一个之前忽略掉的知识点,特此mark一下。错误如下:c++类在初始化的时候有两种方式:1. M_CLASS m_class(...);2. M_CLASS m_class = M_CLASS(...);编译器对二者处理的不同之处在于:前者通过构造函数直接对对象m_class中的成员变量进行赋值,而后者则是先初始化一个临...原创 2019-03-05 00:33:08 · 29307 阅读 · 9 评论