在windows下编译d_nets遇到的各种问题汇总

  在windows下编译d_nets费了我将近一周的课余时间。期间问题数不胜数,今天终于成功。

  编译d_nets需要安装了opencv的vs,当然也可以自己cmake一下opencv。我是在vs2010上配置opencv各种参数。

(1)opencv2.4.1 不支持SIFT    

   首先我安装的是opencv2.4.1版本,vs2010配置各种路径后,cv::SIFT::等一系列函数均不识别。刚开始接触opencv,最开始一直没找到报错的原因。百度了好久发现,opencv2.4.1版本已经把sift surf这两个更为nofree了,换句话说,opencv2.4.1是不支持sift系列函数的%>_<% 。opencv2.3及以前系列都可以用。

(2)vs2010+opencv2.3.1

  1、配置时,link error, 找不到opencv_core231.dll,百度之,把所有dll全改为……d.dll。opencv_core231.dll是release版本,opencv_core231d.dll是debug版本。

  什么是debug 和release版本?Debug  和  Release  编译方式的本质区别   Debug   通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release   称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

  2、imread(filename,1)读不进图片?这个也是把所有的dll都换成debug版本。路径用相对路径,复制过去的,没有错。后来我还是没读进去图片,放弃之。

(3)vs2010+opencv2.2(for vs2010)

  opencv这个版本是专门为vs2010设置的。以上我的血泪史以及csdn上各种问题表明,opencv其他版本和vs2010配合很不好,总会出现这样那样的错误。

  1、M_PI不识别?报错是没有设置这个变量。我在头文件里加了cmath依然无果,只好自己define。

  2、imread(filename,1)读不进图片?这里我用的是相对路径  /images/img1.pgm ,错误出现了,这是我过了好久才发现的,应该是\images\img.pgm,顿觉自己脑残无比。

  3、F5调试时,命令窗口一闪而过?在程序main函数 return 0 之前加入 system("pause").ok。

  3、ctrl+F5后,命令窗口一闪而过? 在vs下 ,  项目->属性->链接器->系统->子系统, 选择  控制台(/SUBSYSTEM/CONSOLE)这一项,ok,问题解决。

(4)vs2010输入命令行参数?

  我是在项目 项目属性 参数 里输的参数,没有问题。但觉得太麻烦,于是在该工程的debug文件夹里,新建一个a.txt,并输入CMD.更名为a.dat。 

      1、dat文件运行时一闪而过?    计算机->属性->高级系统设置->环境变量->在系统变量 PATH里加入  C:\Windows\System32 ;bat文件就可以正常运行了。

 

  最后,在a.bat里输入  d_nets images\img1.pgm s=0.5 images\img2.pgm s=0.5    运行成功。

  d_nets程序使用SIFT取的兴趣点。而SIFT是根据图像的灰度对图像进行高斯模糊来取点,   所以程序在处理模糊图像匹配时,效果很差,几乎没有strips。

 

 

转载于:https://www.cnblogs.com/north-north/archive/2013/03/20/2971081.html

set_fix_multiple_port_nets是一个命令,用于在设计中修复多端口连线的问题。它可以通过设置不同的选项来指定需要修复的设计范围,如-feedthroughs、-outputs、-constants和-buffer_constants等。\[1\]这个命令可以在编译时修复整个设计的层次结构中的多端口连线问题。\[2\]在使用这个命令时,需要注意的是,有时候assign语句的出现并不是因为某些子层次设计没有设置fix_multiple_port_nets属性,而是因为.v网表文件可能会综合出assign语句,这是不正常的。为了解决这个问题,可以使用单元例化的形式来代替assign语句,同时避免使用tri类型的端口,因为它们很可能会生成这种assign语句。\[3\]另外,如果在网表中出现了assign语句,可以通过增加set_fix_multiple_port_nets -all -buffer_constants命令来插入一些buffer,而不是直接连线,以解决这个问题。 #### 引用[.reference_title] - *1* [【DC】DC的TCL脚本常用命令](https://blog.csdn.net/ytzlln/article/details/80626114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [网表中assign语句的产生以及消除方法](https://blog.csdn.net/m0_37160535/article/details/106113340)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [数字逻辑综合工具-DC-11——一些其它命令和综合之后的文件](https://blog.csdn.net/qq_43365647/article/details/102822077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值