
C++
文章平均质量分 56
Will_Ye
其实梦想并不远,走着也能到
展开
-
关于C/C++头文件引起的编译问题
需要注意的是,使用尖括号形式时,编译器只会在系统标准头文件目录中查找头文件,而不会在当前源文件所在目录中查找。如果你的头文件不在系统标准目录中,而是在自定义目录中,你可以通过设置编译器的包含路径来告诉编译器在哪里查找头文件。在实际操作中,建议先把尖括号的引用放前面,双引号的头文件放最后,今天再编译时遇到一个问题,如果先把双引号的头文件放前面,会导致。当使用尖括号括起头文件名时,编译器会在系统的标准头文件目录中查找该头文件。因此,双引号表示相对路径或自定义头文件的包含,而尖括号表示系统标准头文件的包含。原创 2024-03-27 20:46:27 · 1153 阅读 · 0 评论 -
解决C++调用Json报的参数数量错误---json.hpp:6057:62: error: wrong number of template arguments
就是提示参数应该有两个,其实这个挺奇怪的,之前我另一个程序编译没有问题,现在这个程序一编译就报这个错。然后就把新版本的内容复制进去就可以了,如果没找到可以下载我放在资源里的。就可以了,可以去GitHub找原本,更方便的方法,直接把。4)然后修改完记得保存,之后如果引起别的问题,就把。5)最后再次编译,应该就没问题了。解决方法也简单,现在出问题的是。先备份一个,有任何问题就改回来。原创 2024-02-23 16:01:01 · 684 阅读 · 0 评论 -
Debug提示Unable to read file ‘/build/glibc-uZu3wS/glibc-2.27/malloc/malloc.c,安装glibc后依然无法正常debug
很奇怪,以前我也处理不同的点云数据,重来没试过。最近配了几个深度学习的环境,但是都是在anaconda里面配置的,应该没有影响。其实根本原因跟CMakeLists有关,我之前编译一个程序,加了几个编译器选项的设置指令,然后就导致后面debug出的上述问题。所以最好解决方案就是,把需要特殊编译选项的程序放到另一个package里面编译,这样就不会互相冲突了。这种问题解决起来很快,发现特别痛苦。得益于有两台电脑,互相印证才知道问题。编译完一个处理点云数据的cpp程序,然后开始debug,一直报错无法打开。原创 2024-01-26 15:10:34 · 580 阅读 · 0 评论 -
Ubuntu下安装和管理不同版本CMake,根据软件安装的需要选用不同版本的CMake
因为我的电脑里已经有很多编译好的程序了,装新版,很可能导致一些程序没办法编译,所以还是花点时间,搞清楚怎么同时管理不同CMake。到这里就说明已经安装完成了,然后就是之后怎么选择不同的CMake安装package。⑤ 安装完后,检查一下系统内是否有两个版本的CMake。目录下的 CMake,可以直接使用上述命令中的。在运行 CMake 的时候,如果您想使用。路径,而不是使用系统默认的 CMake。这将输出系统默认的 CMake 的版本号。然后检查安装在指定路径下的CMake。首先检测系统默认的CMake。原创 2023-06-13 15:41:15 · 5862 阅读 · 0 评论 -
fatal err Eigen/Dense No such file or directory
重新配置新系统,各种库都要重新装关于这个Eigen库的问题,只是安装和软链接的问题,单纯装了还解决不了这个报错,要把软连接加上才行sudo apt-get install libeigen3-dev创建软连接:安装的Eigen可能在/usr/local/include 或/usr/include,如果在其中一个路径没找到就去另一个就行了cd /usr/local/includesudo ln -sf eigen3/Eigen Eigensudo ln -sf eigen3/unsuppo原创 2021-11-03 19:14:22 · 1164 阅读 · 0 评论 -
C++ 四舍五入以及保留几位有效数字
Problem计算过程中发现,如果不控制保留的小数有效数字,会出现求出nan的情况,因此,需要限制保留的小数位数Solution#include<iostream>#include<math.h>using namespace std;int main(){ float a = 1.0/3; float a_3decimal = round(a * pow(10, 3)) * pow(10, -3);//3位小数 float a_4decimal = round原创 2021-10-01 12:32:03 · 2513 阅读 · 0 评论 -
多个C++源文件共用一个变量 & 实现过程中的一些bug
1. Intro.在C/C++中可以通过设置外部变量也叫全局变量的方法来实现多个源文件共用一个变量,但这种共用一个变量的方法是双向的,也就是引用这个变量的源文件,也可以再次对这个变量进行赋值。2. Target一个源文件为主函数,其中设置一个变量,再写两个源文件,在其中设置外部变量,引用主函数中的全局变量3. Realization有两种方法实现,一个利用头文件,另一个不通过头文件(1)不用头文件在a.cpp中定义一个全局变量如int data;在b.cpp中加入extern int dat原创 2021-06-24 23:04:58 · 3430 阅读 · 4 评论 -
OpenFace编译遇到的各种问题
又重新配了一次OpenGLFace的环境,各种问题,费了不少功夫[ 4%] Built target LeastSquare[ 35%] Built target LandmarkDetector[ 52%] Built target FaceAnalyser[ 56%] Built target GazeAnalyser[ 75%] Built target Utilities[ 77%] Linking CXX executable ../../bin/FaceLandmarkImg/o原创 2020-11-30 14:22:51 · 1410 阅读 · 1 评论 -
C++调用Python的方法以及问题集
1. C++调用Python的方法直接先上案例:#include </home/will/anaconda3/envs/openface/include/python3.6m/Python.h>using namespace std;int main(int argc, char **argv){ Py_Initialize(); //这个是初始化python调用程序,必须 string path = "/media/will/Will/MyOpenFace-2019-1-30/原创 2020-11-30 10:23:44 · 1006 阅读 · 0 评论