编译环境为:pcl1.8+vs2013
代码实现点云数据的相关处理,在编译的时候出现如下错误:
error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
以前好像也出现过这样的问题,在网上搜索了解决办法:库的版本,编译器的位数,项目属性中的配置都要一致。
网上是这样说的:https://jingyan.baidu.com/article/1709ad80949f954634c4f0c8.html
那就一步一步确认:
1.检查了一下,发现PCL库安装的是这样的64位适用于vs2013的版本:
2.然后将编译器的位数改为64位,如下:
3.检查项目属性的配置,target machine属性选择x64:
4.编译结果,只有一个错误:
5.那既然是对x64不匹配,试着将其改为x86试试,结果是这样的,有没有很无语:
后来,重新新建项目并配置环境后,发现程序仍出现该错误。之前没问题的代码重新运行还是发现该错误。这时候就怀疑是不是在修改配置时候把环境改乱了。然后,我用了个笨办法,卸载当前电脑上的相关库,重新安装,并配置系统环境,就完美的解决了,但是这种重装环境的方法可能只适用于我出现的这种情况。
这里附上完整的修改方法链接,简单的位数配置错误就按照这个来就应该能解决了:
https://blog.csdn.net/tfy1028/article/details/8660823/