C++项目更改位置或重命名后无法编译与运行

错误内容:

CMake Error: The current CMakeCache.txt directory /home/xiexiaotong/桌面/yolov5_tensorRT/build/CMakeCache.txt is different than the directory /home/xiexiaotong/桌面/tensorrtx/yolov5/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt CMake Error: The source “/home/xiexiaotong/桌面/yolov5_tensorRT/CMakeLists.txt” does not match the source “/home/xiexiaotong/桌面/tensorrtx/yolov5/CMakeLists.txt” used to generate cache. Re-run cmake with a different source directory.

解决方法

这个错误提示是由于 CMakeCache.txt 目录与创建 CMakeCache.txt 的目录不同导致的。这可能会导致二进制文件被创建在错误的位置。
只要删除build,然后重新编译就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源介绍】 基于C++开发的国标GB28181流媒体信令服务器源码+使用说明.zip 1. 一个基于C++开发的国标GB28181流媒体信令服务器。 2. 采用BXC_SipServer+ZLMediaKit。可以搭建一个接收摄像头国标协议推流的国标流媒体服务,然后实现RTSP/RTMP/HTTP-FVL/HLS/WS/SRT等协议分发视频流。 3. BXC_SipServer负责信令模块,ZLMediaKit负责流媒体模块。 4. BXC_SipServer作为国标流媒体服务器的信令模块。用于接收摄像头的信令注册,注册完成后, 主动向摄像头发送Invite请求,摄像头收到Invite请求后, 返回Invite的确认。 服务端收到确认后,发送ACK请求, 摄像头收到ACK请求后,开始通过RTP传输ps流推流至ZLMediaKit的国标RTP Server。 ZLMediaKit作为国标流媒体服务器的流媒体模块,主要用于接收摄像头国标推流和其他协议的分发。 5. 补充说明一下,这只是我为了讲课而开发的demo级的信令服务器,部分信令功能并没有实现。但是基本功能是没问题了,对接摄像头是完全没问题的, 对于学习国标流媒体信令服务器的新手,完全够用了,可以快速体验国标协议,通过wireshark抓包快速感受国标对接的流程。 linxu系统编译运行 ~~~ 一,首先安装osip和exosip,建议按照上面的BXC_SipServer介绍下载我推荐的 osip2-5.1.2和exosip2-5.1.2 1. 编译安装 osip2-5.1.2 cd osip2-5.1.2 ./configure make sudo make install 2. 编译安装 exosip2-5.1.2 cd exosip2-5.1.2 ./configure make sudo make install 二,开始 1. csdn下载代码 解压命名 2. 编译BXC_SipServer cd BXC_SipServer mkdir build cd build cmake .. make 3. 运行 ./BXC_SipServer indows系统编译运行 一,osip和exosip编译到windows平台比较麻烦,我也是在编译过程中解决了多个报错,用了大半天时间,才编译出可用的版本 如果你在windows平台自行编译osip和exosip,还需要编译c-ares库。推荐使用 c-ares-1.16.0 配合 osip2-5.1.2 和 exosip2-5.1.2 我已经将上面3个库编译好放在了3rdparty,并提供了 vs2019/x64/Debug 和 vs2019/x64/Release 二,只需要使用vs2019打开 BXC_SipServer.sln 选择 x64/Debug 或 x64/Release就能直接运行,依赖库都配置了相对路径 【备注】 该项目是个人毕设/课设/大作业项目,代码都经过本地调试测试,功能ok才上传,高分作品,可快速上手运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载使用,也欢迎交流学习!
批量命名软件(VC6) 2019年03月30日 18:25:36 南棱笑笑生 阅读数:4 编辑 有时候需要批量命名一整个目录的文件,一个一个的修改肯定花时间和精力了! https://item.jd.com/42982472342.html 基本信息 书名:Visual C++开发实战宝典(配光盘)(软件开发实战宝典) 定价:79.80元 作者:宋坤 等编著 出版社:清华大学出版社 出版日期:2009-12-01 ISBN:9787302209058 字数: 页码: 版次: 装帧:平装 开本:16开 商品量: 可能宋坤先生默默无名,从里面还是找到了一个有用的程序,比如第8章的: 8.7 实战 8.7.2 对位图文件进行批量编号命名..............348 例8.12 目录名:FileRename 由于VC6早已经遭到淘汰了,但是联系编程还有稍许价值,现阶段只能在虚拟机VMware14中运行WINDOWS XP来安装运行VC6了。 还有一个要的问题是360杀毒软件会将你编译生成的EXE文件都处理为未知的可疑文件,提醒你隔离或者删除!^_ 在360的老板周鸿祎的眼里草木皆兵:宁可错杀一千,不可放走一个! 为了简单期间,我将360杀毒和360安全卫士都退出了! 发现未知程序将要运行,是否放行? 可能是没有数字签名,微软的比尔盖茨也告诉你的程序不安全:^_ 无法验证发布者。您确定要运行此软件吗? 由于是为命名BMP扩展名的位图文件准备的程序,因此程序运行的时候除了:E:\刘杨-商业修图教程 目录多了一个BMP目录之外啥也没有。(前缀使用:刘杨-商业修图教程。下同) 首先干掉必须是BMP扩展名! //开始批量命名文件 void CFileRenameDlg::OnBtStart() { CFileFind flFind; CString szDir; m_FileDir.GetWindowText(szDir); flFind.FindFile(szDir + "\\*.*"); //统计位图数量 int nBmpCount = 0; CFileFind flFindCount; flFindCount.FindFile(szDir + "\\*.*"); while (flFindCount.FindNextFile()) { if (!flFindCount.IsDirectory()) { CString szPath; szPath = flFindCount.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { nBmpCount++; } } } flFindCount.Close(); m_Progress.SetRange32(0, nBmpCount); //遍历位图文件 szDir = szDir + "\\bmp"; CreateDirectory(szDir, NULL); //创建目录 int nIndex = 1; while(flFind.FindNextFile()) { if (!flFind.IsDirectory()) { CString szPath; szPath = flFind.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //获取前缀 CString szPrefix; m_Prefix.GetWindowText(szPrefix); //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { CFile file; CString szCreatedName = szDir; szCreatedName += "\\"; szCreatedName += szPrefix; //添加前缀 CString szIndex; szIndex.Format("%d", nIndex); szCreatedName += szIndex; //添加序号 szCreatedName += ".bmp"; m_Progress.SetPos(nIndex); nIndex++; //创建新的文件 file.Open(szCreatedName, CFile::modeCreate|CFile::modeReadWrite); CFile readFile; readFile.Open(szPath, CFile::modeRead); DWORD dwLen = readFile.GetLength(); BYTE *pData = new BYTE[dwLen]; readFile.ReadHuge((void*)pData, dwLen); readFile.Close(); file.WriteHuge((void*)pData, dwLen); file.Close(); delete [] pData; szCreatedName.ReleaseBuffer(); szIndex.ReleaseBuffer(); } } } flFind.Close(); CString szBmpCount; szBmpCount.Format("%d个文件!", nBmpCount); MessageBox("操作完成,处理" + szBmpCount); szBmpCount.ReleaseBuffer(); } 生成的文件名为: 刘杨-商业修图教程1.bmp 刘杨-商业修图教程10.bmp 刘杨-商业修图教程2.bmp 刘杨-商业修图教程3.bmp 刘杨-商业修图教程4.bmp 刘杨-商业修图教程5.bmp 刘杨-商业修图教程6.bmp 刘杨-商业修图教程7.bmp 刘杨-商业修图教程8.bmp 刘杨-商业修图教程9.bmp 还是需要修改扩展名: //开始批量命名文件 void CFileRenameDlg::OnBtStart() { CFileFind flFind; CString szDir; m_FileDir.GetWindowText(szDir); flFind.FindFile(szDir + "\\*.*"); //统计位图数量 int nBmpCount = 0; CFileFind flFindCount; flFindCount.FindFile(szDir + "\\*.*"); while (flFindCount.FindNextFile()) { if (!flFindCount.IsDirectory()) { CString szPath; szPath = flFindCount.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { nBmpCount++; } } } flFindCount.Close(); m_Progress.SetRange32(0, nBmpCount); //遍历位图文件 szDir = szDir + "\\bmp"; CreateDirectory(szDir, NULL); //创建目录 int nIndex = 1; while(flFind.FindNextFile()) { if (!flFind.IsDirectory()) { CString szPath; szPath = flFind.GetFilePath(); char szLetter[128] = {0}; //盘符 char szCurDir[128] = {0}; //目录 char szName[128] = {0}; //文件名 char szExt[128] = {0}; //扩展名 _splitpath(szPath.GetBuffer(0), szLetter, szCurDir, szName, szExt); //分解目录 //获取前缀 CString szPrefix; m_Prefix.GetWindowText(szPrefix); //判断文件扩展名 //if (strcmp(szExt, ".bmp") == 0) { CFile file; CString szCreatedName = szDir; szCreatedName += "\\"; szCreatedName += szPrefix; //添加前缀 CString szIndex; szIndex.Format("%d", nIndex); szCreatedName += szIndex; //添加序号 //szCreatedName += ".bmp"; szCreatedName += szExt; m_Progress.SetPos(nIndex); nIndex++; //创建新的文件 file.Open(szCreatedName, CFile::modeCreate|CFile::modeReadWrite); CFile readFile; readFile.Open(szPath, CFile::modeRead); DWORD dwLen = readFile.GetLength(); BYTE *pData = new BYTE[dwLen]; readFile.ReadHuge((void*)pData, dwLen); readFile.Close(); file.WriteHuge((void*)pData, dwLen); file.Close(); delete [] pData; szCreatedName.ReleaseBuffer(); szIndex.ReleaseBuffer(); } } } flFind.Close(); CString szBmpCount; szBmpCount.Format("%d个文件!", nBmpCount); MessageBox("操作完成,处理" + szBmpCount); szBmpCount.ReleaseBuffer(); } 得到的文件名为: 刘杨-商业修图教程1.avi 刘杨-商业修图教程10.avi 刘杨-商业修图教程2.avi 刘杨-商业修图教程3.avi 刘杨-商业修图教程4.avi 刘杨-商业修图教程5.avi 刘杨-商业修图教程6.avi 刘杨-商业修图教程7.avi 刘杨-商业修图教程8.avi 刘杨-商业修图教程9.avi 现在你就会发现你所命名的文件一位数和两位数的掺杂在一起,不整洁! 假定你所批量命名的文件名不超过100个(最多99个。) 继续修改代码: 刘杨-商业修图教程01.avi 刘杨-商业修图教程02.avi 刘杨-商业修图教程03.avi 刘杨-商业修图教程04.avi 刘杨-商业修图教程05.avi 刘杨-商业修图教程06.avi 刘杨-商业修图教程07.avi 刘杨-商业修图教程08.avi 刘杨-商业修图教程09.avi 刘杨-商业修图教程10.avi 结束语: 本程序还可以继续修改,改名之前直接统计需要命名的文件的数目,然后自动配置一位数、二位数、三位数等等。 可能是微软的比尔盖茨的原因,最后命名的文件的计数有点问题。不影响工作!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值