当前位置: 首页 > article >正文

win11+matlab2021a配置C-COT

一、引言

  1. 代码地址:https://github.com/martin-danelljan/Continuous-ConvOp
  2. matconvnet 文件地址:https://github.com/vlfeat/matconvnet
    下载后将文件夹中的所有文件放入 C-COT 底下的 external_libs/matconvnet/ 中
  3. pdollar_toolbox 文件地址:https://github.com/pdollar/toolbox
    下载后将文件夹中的所有文件放入 C-COT 底下的 external_libs/pdollar_toolbox/ 中
  4. 参考链接:
    1)C-COT代码运行----Matlab2018a运行matconvnet深度卷积网络
    2)C-COT目标跟踪代码下载运行

二、运行 install.m

1. setup

输入mex -setup,选择'Microsoft Visual C++ 2022' 以进行 C++ 语言编译。

2. 问题一

  1. gradientMex.cpp
 -> E:\...\C-COT\external_libs\pdollar_toolbox/channels/private/gradientMex.cpp
使用 'Microsoft Visual C++ 2022' 编译。
 -> COMPILE FAILURE: 'gradientMex.cpp' gradientMex.cpp
E:\...\C-COT\external_libs\pdollar_toolbox\channels\private\gradientMex.cpp(329): error C2664: “int mxSetDimensions_730(mxArray *,const mwSize *,mwSize)”: 无法将参数 2 从“const int [3]”转换为“const mwSize *”
E:\...\C-COT\external_libs\pdollar_toolbox\channels\private\gradientMex.cpp(329): note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制转换
E:\...\MATLAB2021a\extern\include\matrix.h(940): note: 参见“mxSetDimensions_730”的声明
E:\...\C-COT\external_libs\pdollar_toolbox\channels\private\gradientMex.cpp(329): note: 尝试匹配参数列表“(mxArray *, const int [3], int)”时
E:\...\C-COT\external_libs\pdollar_toolbox\channels\private\gradientMex.cpp(339): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
E:\...\C-COT\external_libs\pdollar_toolbox\channels\private\gradientMex.cpp(339): error C2440: “=”: 无法从“const mwSize *”转换为“const int *”
E:\...\C-COT\external_libs\pdollar_toolbox\channels\private\gradientMex.cpp(339): note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制转换

参考链接:CSR-DCF运行记录
对 toolboxCompile.m 文件进行如下修改:

第44行:
n=length(fs); useOmp=zeros(1,n); if(~ismac), useOmp([6 9])=1; useOmp(2)=2; end

第54行:
 fprintf(' -> %s\n',[f e]); if(useOmp(i)==2), mex('-DMX_COMPAT_32', [f e], optsi{:},[f '.' mexext]);else, mex([f e],optsi{:},[f '.' mexext]); end
  1. opticalFlowHsMex.cpp
-> COMPILE FAILURE: 'opticalFlowHsMex.cpp' dijkstra1.cpp
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(18): error C2632: “short”后面的“char16_t”非法
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(18): warning C4091: “typedef ”: 没有声明变量时忽略“unsigned short”的左侧
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(112): warning C4267: “=”: 从“size_t”转换到“long”,可能丢失数据
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(113): warning C4267: “=”: 从“size_t”转换到“long”,可能丢失数据
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(116): warning C4267: “=”: 从“size_t”转换到“long”,可能丢失数据
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(168): warning C4267: “=”: 从“size_t”转换到“long”,可能丢失数据
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(170): warning C4267: “=”: 从“size_t”转换到“long”,可能丢失数据
E:\project\practice\C-COT\external_libs\pdollar_toolbox\matlab\private\dijkstra1.cpp(170): warning C4267: “=”: 从“size_t”转换到“long”,可能丢失数据

这个问题我没有找到解决的方法,好像有帖子说更改下头文件的加载顺序?我把报错的这行代码注释掉了,然后没有问题。。。

3. 问题二

警告: CL.EXE not found in PATH. Trying to guess out of mex setup. 
> 位置:vl_compilenn>check_clpath (650)
位置: vl_compilenn (426)
位置: install (28) 
'cl.exe' 不是内部或外部命令,也不是可运行的程序 
或批处理文件。 
错误使用 vl_compilenn>check_clpath (656)
Unable to find cl.exe

出错 vl_compilenn (426)
    cl_path = fileparts(check_clpath()); % check whether cl.exe in path

出错 install (28)
    vl_compilenn;

这个问题是由于没有找到 cl.exe 在什么位置。我一开始也没有找到,后来搜索了以下发现在一个很离谱的位置。将 cl.exe 所在路径添加到 vl_compilenn 的第 646 行:

cl_path = fullfile('E:\VS2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx86\x64');

三、运行 demo.m

在这里插入图片描述


http://www.kler.cn/a/452145.html

相关文章:

  • DDoS防护中的流量清洗与智能调度
  • 美国辅料查询之FDA批准药用辅料数据库(IID数据库)
  • PostgreSQL CRUD 操作指南
  • springboot/ssm社区助老志愿者服务平台Java代码编写web志愿捐赠活动项目
  • ubuntu安装sublime安装与免费使用
  • EMS(energy managment system)从0到1
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战训练三)
  • MySQL HA 方案 MMM、MHA、MGR、PXC 对比
  • Hive SQL 窗口函数 `ROW_NUMBER() ` 案例分析
  • PCA降维MATLAB代码解释及应用场景
  • 如何在 Ubuntu 22.04 上安装和使用 Composer
  • 《解锁分类神经网络预训练模型的奇妙世界》
  • uniapp input苹果中文键盘输入拼音直接切换输入焦点监听失效
  • 删除VSCode上 origin/分支名,但GitLab上实际上不存在的分支
  • 攻防世界 ics-06
  • 基于单片机的智能递口罩机器人设计
  • 【前端知识】强大的js动画组件anime.js
  • CSharp: Oracle Stored Procedure query table
  • Mac怎么远程控制Windows?
  • SpringBoot项目的5种搭建方式(以idea2017为例)
  • 敏感词 v0.24.0 新特性支持标签分类,内置实现多种策略
  • LabVIEW数字式气压计自动检定系统
  • 计算机视觉-人工智能(AI)入门教程一
  • PyCharm专项训练4 最小生成树算法
  • MySQL 数据”丢失”事件之 binlog 解析应用
  • 【Java 数据结构】移除链表元素