vs debug
使用vs遇到的一些错误及解决
zeeq_
A WHU LIESMARSer
展开
-
用git merge完别人的工程后,工程下的头文件和cpp文件等的文件夹消失了,所有文件都混合在一起的解决方法
用git merge完别人的工程后,工程下的头文件和cpp文件等的文件夹消失了,所有文件都混合在一起了,如下图所示: 其原因是工程的filters文件出现了冲突,可以查看一下git的merge信息,如下所示: 可以看出,其中的PowerInspection.vcxproj.filters出现了冲突。因此,只要找到这个文件,将里面的冲突解决掉,然后重新加载项目,就可以恢复正常了,如下图所示:...原创 2021-04-28 21:00:48 · 342 阅读 · 0 评论 -
无法定位程序输入点,于动态链接库xxx上的可能原因及解决方法
启动自己编译生成的cloudcompare.exe的时候,报错说无法定位程序输入点,如下图所示: 其原因可能有两个,一个是找不到依赖的某些dll,另一个是有些依赖库存在版本冲突。在我这里是由于Qt的版本冲突造成的。因为之前用的是qt5.9.9,而现在使用的是qt5.14.0。解决办法就是,检查一下环境变量里面的依赖库dll路径,看是否混用了,或者看一下使用的dll版本是否正确。......原创 2021-04-12 11:07:07 · 71124 阅读 · 13 评论 -
无法解析的外部符号 “public: virtual __cdecl ccDefaultPluginInterface::~ccDefaultPluginInterface(void)“解决方案
报错信息如下: 出错的原因在于没找到ccDefaultPluginInterface类。解决方法是:右键报错的项目的header files,添加现有项,如下图所示: 将ccDefaultPluginInterface.h添加进来。同理,右键source files,添加该文件的cpp文件进来。然后再次生成,就可以了。...原创 2021-04-11 17:15:15 · 5388 阅读 · 0 评论 -
vs工程某个宏没有被定义报一堆错误的解决方法(eg. cloudcompare的ScalarType)
在生成项目的时候,报了108个错误,如下图所示: 看到这可能很多人都会直接崩溃了,这么多,怎么改的过来。博主也遇到过好几次一报就是一大堆错误的情况了,比如之前写过的一篇文章新建c++空项目配置教程及使用由vcpkg下载的pcl库时报一大堆错误的解决方法。其实错误多也并不可怕,这里面很多错误都是连带发生的而已,通常只需要将根本问题解决了(一般就是优先解决通用一点的问题),这些错误就会一起消失了。比如上图的108个错误,注意到第一个错误,写着type for ScalarType has not be原创 2021-04-11 13:29:44 · 481 阅读 · 0 评论 -
vs中c++项目的包含目录和库目录配置的两种方式,及无法解析外部符号的解决办法
vs中的c++工程配置中,包含目录和库目录可以在两个地方进行设置,两者效果是一样的。所以有时在转移工程的时候,如果发现在原工程里可以正常运行,而现工程却不行,就可以检查一下附加目录中是否正确进行了设置。VC++目录 - 包含目录 = C/C++ - 常规 - 附加包含目录VC++目录 - 库目录 = 链接器 - 常规 - 附加库目录 此外,当一个解决方案中包含多个工程,且工程直接存在相互引用时,那么,如果出现了无法解析的外部符号这个错误时,通常考虑的问题及解决参考这篇博客。此外,还应原创 2021-04-11 11:54:08 · 8187 阅读 · 3 评论 -
cv::imwrite无法解析的外部符号解决办法
无法解析的外部符号的一般解决思路可以参考这篇文章。这里主要针对cv::imwrite这个函数,报错内容如下图所示:严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 "bool __cdecl cv::imwrite(class cv::String const &,class cv::debug_build_guard::_InputArray const &,class std::vector<int,class std::alloca原创 2021-03-31 17:24:54 · 7734 阅读 · 3 评论 -
vs报错“错误 LNK2019 无法解析的外部符号”的几种原因及解决方案
运行vs程序的时候,报错严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 "__declspec(dllimport) public: void __cdecl PointCloudFilter::setptClouds(struct LAS_POINT *)" (__imp_?setptClouds@PointCloudFilter@@QEAAXPEAULAS_POINT@@@Z),该符号在函数 "private: void __cdecl PointClou原创 2021-03-28 13:45:44 · 287209 阅读 · 90 评论 -
vs debug模式下显示“变量已被优化掉,因而不可用”的解决办法
在使用Debug模式对程序进行调试的时候,发现变量的值显示被优化掉了,看不到它的值,如下图所示: 解决办法就是,在vs顶部工具栏上,选择工具->属性,打开属性页,然后依次选择配置属性->C/C++->优化,将优化栏的值选为已禁用(/Od),然后确定保存设置就可以了。如下图所示: 修改完成后,再次运行程序,就可以正常看到每个变量的值了: 一般来说,上述设置的优化选项中,最大优化(优选速度)(/O2)是release版本的设置,它会在执行过程中对代码和变量进行优化,因此,原创 2021-03-28 13:13:30 · 7503 阅读 · 3 评论 -
使用vs生成cmake编译好的工程时报错:无法启动程序......拒绝访问。解决方案(以编译cloudcompare为例)
有时因为visual studio设置的原因,在用vs运行cmake生成的cloudcompare工程sln文件的时候,会遇到报错: 原因是项目配置没有设置好。在vs界面中,选中一个解决方案,比如ALL_BUILD,然后选择生成->批生成,如下图所示: 在弹出的界面中把ALL_BUILD项目对应的release和debug生成框勾上,确认后再返回主界面右键项目进行生成的时候,就不会再报错了。如下图所示: 当然,后面还会需要对其他项目进行生成的话,也可能会出现拒绝访问的情况。解决方原创 2021-03-27 19:31:46 · 3846 阅读 · 1 评论 -
cloudcompare开发dll插件的调试方法
网上关于cloudcompare插件开发的资料较少,有些许教程,但是没有讲如何对插件进行调试的。毕竟插件是写好了以dll的形式在cc界面中使用的,而不是在vs里执行。不过,我们也可以像在vs里调试程序一样来调试插件。今天早上从一个师兄那学习到的一个新技能,在此记录一下: 首先打开cloudcompare安装的目录(也即camke时候设置的路径),我这里是prefix8。然后打开该路径下的cloudcompare文件夹,将里面所有的dll和plugins文件夹都复制下来,如下所示: 然后将这些d原创 2021-03-27 12:19:48 · 862 阅读 · 0 评论 -
新建c++空项目配置教程及使用由vcpkg下载的pcl库时报一大堆错误的解决方法
如题所示,新建一个工程,在使用pcl库的时候,可以正确include,没有报错。但是在运行的时候,却出现了一大堆错误,报错如下: 有很多错误信息是没有价值的,真正的问题出在程序没有找到Eigen库,因此,将Eigen库路径加入到程序中即可。在这里,路径不是加到vc++目录的include路径中,而是加在附加包含目录中,如下图所示: 加好后再运行程序,就不会再报这一大堆错误了。但是,如果你是一个新建的程序的话,可能还需要一些配置,否则还会出现很多错误,比如:错误 C4996 ‘strt原创 2021-01-08 17:53:05 · 892 阅读 · 2 评论 -
错误 C3861 “pop_t”: 找不到标识符(使用pcl库kdtree_flann.h报错)
使用pcl库的时候,报错“错误 C3861 “pop_t”: 找不到标识符”,如下: 双击打开错误文件,是在flann\algorithms目录下的dist.h,于是初步确定错误应该是在使用kdtree_flann.h时产生的。查看dist.h报错的地方,可以看到,在上一个#endif结束后面有一个pop_t的声明(第503行代码),但是在出错位置前的#else后面却没有这个声明,如下所示: 因此,解决办法也很简单,就是在第521行和前面一样,加上一句typedef unsigned lon原创 2020-12-22 22:04:53 · 2356 阅读 · 6 评论 -
vs中使用‘fopen’、‘scanf‘等报错C4996:unsafe的解决方法及加了_CRT_SECURE_NO_WARNINGS后仍然报错的注意事项
vs运行时报错:'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 这个是高版的VS默认不让使用scanf,fopen等函数,说是scanf,fopen等函数不安全,而代替其函数的是scanf_s,fopen_s等函数。如果不想原创 2020-12-13 03:06:32 · 4906 阅读 · 5 评论 -
报错VC\Tools\MSVC\14.27.29110\include\xmemory Line: 141 Expression: invalid argument解决方案
今天在用vs2019跑代码的时候遇到了一个很奇怪的问题,没有改动过的代码块,在之前运行都是可以成功跑通的,但是今天一跑就报错,有点莫名其妙。上报错信息:没什么有用信息,只知道了错误出现在xmemory这个文件里,看文件名大概就是内存的问题了,于是我定位到了错误的地方:注释信息说:If the following asserts, it likely means that we are performing an aligned delete on memory coming from an unal原创 2020-11-05 18:55:36 · 2714 阅读 · 2 评论 -
xmemory Line: 141报错,在std::vector容器里装Vector2d等Eigen类型的数据时出错的根本性解决方案
继我昨天发的博客:标题:报错VC\Tools\MSVC\14.27.29110\include\xmemory Line: 141 Expression: invalid argument解决方案链接:xmemory报错里面讲述了我遇到了vector内存问题及当时的解决方案,具体内容可以戳上述链接进入查看。本来,我以为昨天的解决方案已经很好地解决了这个错误,结果,它(这个错误)就跟鬼火似的,一直跟随着我,所以它今天又找上门来了。这里再贴一下这个错误:跟昨天一模一样。于是,我就根据昨天的代码优原创 2020-11-06 15:42:23 · 2667 阅读 · 0 评论 -
VS编译报错 “C2116不同声明之间的函数参数列表不匹配、C2371重定义;不同的基类型、C2733无法重载具有外部 “C“ 链接的函数” 解决方案
今天在写代码的时候遇到了一个很奇怪的问题,代码写的都没有问题,但是一运行就各种报错:报错类型是C2116、C2371、C2733,定位的错误内容都是系统里的头文件,很明显,肯定是我们在使用某些库的时候出现了错误。网上关于这部分错误的解决办法不太好找,但是后面我还是找到了解决办法。链接:https://blog.csdn.net/qq_41017802/article/details/103482535说的是pcl库使用出错,而我也恰巧使用了pcl库,并且也在怀疑是使用它出错了。所以我按着这个解决方原创 2020-11-15 10:32:13 · 5930 阅读 · 0 评论 -
error LNK2001: 无法解析的外部符号 “__declspec(dllimport) public等的常见解决方案小结
今天晚上想把自己写的一个sfm工程从dubug模式改成release模式(在vs2019环境下)。按理说,只要把release模式下的include目录、库目录以及链接库的名字配好就可以了。但是我在配好以后,出现了很多个“error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: class std::basic_ios<char,struct std::char_t”之类的错误。百度了一下,有如下几种解决方案:在配置include目录、库目录以原创 2020-12-03 23:05:59 · 11605 阅读 · 1 评论