linux 下 Clion 中无法用相对路径读入文件

问题描述

代码可以Make通过,直接用./方法可以运行。但是在clion中运行,设置断点发现没有读入数据,必须使用绝对路径才可以运行。请问这是什么原因?clion需要什么设置吗?#include<iostream>#include<vector>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>usingnamespacestd;usingnamespacecv;constintg_nMaxAlphaValue=100;intg_nAlphaValueSlide;doubleg_dAlphaValue;doubleg_dBetaValue;Matg_srcImage1;Matg_srcImage2;Matg_dstImage;voidon_Trackbar(int,void*){g_dAlphaValue=(double)g_nAlphaValueSlide/g_nMaxAlphaValue;g_dBetaValue=1.0-g_dAlphaValue;addWeighted(g_srcImage1,g_dAlphaValue,g_srcImage2,g_dBetaValue,0.0,g_dstImage);imshow("Picture",g_dstImage);}intmain(){g_srcImage1=imread("rain.jpg");g_srcImage2=imread("mogu.jpg");if(!g_srcImage1.data){cout<<"HERE2"<<endl;return-1;}if(!g_srcImage2.data){cout<<"HERE1"<<endl;return-1;}namedWindow("Picture");g_nAlphaValueSlide=50;createTrackbar("Alpha","Picture",&g_nAlphaValueSlide,g_nMaxAlphaValue,on_Trackbar);on_Trackbar(g_nAlphaValueSlide,0);waitKey(0);return0;return0;}

解决方案

解决方案二:
断点设置在imread();发现两个图片都没有读入。

时间: 2024-10-18 15:51:29

linux 下 Clion 中无法用相对路径读入文件的相关文章

linux下调试程序发现代码走错了路径

问题描述 linux下调试程序发现代码走错了路径 我在linux环境下测试代码,情况如下:有两个工程project_a 和 project_b,project_a是服务进程,project_b是动态库.这两个工程中都存在file.cpp,同时这两个file.cpp中都含有函数func(),我在调试project_b工程的时候函数调用会进入到file.cpp中的func函数中,但是奇怪的是这个时候代码跑到了project_a工程file.cpp中的func函数中.各位大神,谁能解答一下问题的原因到

Linux下shell中case命令详解

  linux下shell中的case名字和C/C++中的switch类似,但是shell中的case更强大和复杂. 1.强大主要体现在:shell中case中的关键字可以是字符串类型,而每一项中可以包含正则表达式. 2.复杂主要体现在:shell中case的每一个项后有三个选择:break(常规的break).unconditional follow up(无条件继续)和conditional follow up(有条件继续). 这篇文章的重点是上面的第2点. case的无条件继续和有条件继续

人脸识别-linux下qt中opencv打开摄像头HIGHGUI ERROR:OpenCV Error:

问题描述 linux下qt中opencv打开摄像头HIGHGUI ERROR:OpenCV Error: 我在Ubuntu下用qt结合opencv做一个人眼状态识别的程序,qt做界面,程序在vs控制台环境下已经可以运行,但是qt下出错.错误信息 如下: HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/mkc/op

win7 eclipse hadoop-win7下eclipse开发虚拟机linux 下hadoop中的问题

问题描述 win7下eclipse开发虚拟机linux 下hadoop中的问题 本人心血来潮买了hadoop权威指南第二版学习hadoop. linux虚拟机下安装了伪分布模式下的hadoop_0.20.2版本.进过多方努力发现了eclipse的版本3.3才能使用自带的hadoop插件.又经过多方努力在win7的eclipse下成功的完成了wordcount的测试程序.中间一堆错误. 现在想测试maxtemperature确保了以前的错误,不明白这是什么原因.现将错误内容贴出,忘大神不吝赐教.

linux下gedit中不能输入中文

问题描述 linux下gedit中不能输入中文 如题 求大神解答 输入只能是字母 可我想输点汉字啊... 解决方案 gedit 可输入中文的文本编辑器myeclipse在linux下不能输入中文 解决方案二: gedit本身是支持中文的,是不是你的输入法有什么问题,换个输入法试试 解决方案三: 应该是能支持的,linux原生支持unicode的.看看是不是输入法问题,或者首选项里的设置问题. 解决方案四: http://wiki.ubuntu.com.cn/Gedit%E4%B8%AD%E6%9

linux下动态库(*.so)的路径问题

本文为原创,如需转载,请注明作者和出处,谢谢!     最近在使用wxWidgets,这是一个跨平台的C++库,在linux下编译成动态库(*.so),如果将编译后的可执行文件发布到其他机器的linux系统中,需要带上.so文件,这就需要设置一下这些动态库的路径,一般可以使用环境变量LD_LIBRARY_PATH来设置,可以在终端中直接输出如下的命令: export LD_LIBRARY_PATH=/library/wxwidgets 其中/library/wxwidgets是.so文件存放的路

linux下SVN中改变执行权限

SVN中,如果我们在linux下提交权限为755的文件,就会在svn的属性中存在一个svn:excuteable. 只在本地chmod 644 filename.php,是不能造成修改的. 可以在windows下的svn客户端中,通过修改该文件的属性,Remove掉它的这个可执行属性. Remove之后会重新进行一次commit操作,所以还会弹出让你填写一点备注的输入框. 所以可以看出,svn中保存文件并没有储存属主和类似755这样的权限,只在如果有可执行权限时,checkout和update时

Linux下文本文件中^M 符号问题的解决

关于回车与换行,有些人就认定没必要用两个字符来表示行尾.UNIX 开发者决定他们可以用一个字符来表示行尾,Linux沿袭Unix,也是.Apple 开发者规定了用.开发 MS-DOS以及Windows 的那些家伙则决定沿用老式的. 三种行尾格式如下: unix : n dos : rn mac : r 这意味着,如果你试图把一个文件从一种系统移到另一种系统,那么你就有换行符方面的麻烦. 因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下写的代

Linux下多线程中的信号处理详解教程

在linux下,每个进程都有自己的signal mask,这个信号掩码指定哪个信号被阻塞,哪个不会被阻塞,通常用调用sigmask来处理.同时每个进程还有自己的signal action,这个行为集合指定了信号该如何处理,通常调用sigaction来处理. 使用了多线程后,便有些疑问: 信号发生时,哪个线程会收到是不是每个线程都有自己的mask及action每个线程能按自己的方式处理信号么 首先,信号的传递是根据情况而定的: 如果是异常产生的信号(比如程序错误,像SIGPIPE.SIGEGV这些