vtk无法解析的外部符号,无法打开文件等错误

其实有些简单的问题是很容易解决的,但类似于vtk、itk、opencv这种需要配置库文件等等的项目很容易报一些无从下手的错误,让新手一脸蒙逼,比如下面这种,我自己配置好多次也还是会遇到。


在错误列表里,显示一堆“无法解析的外部符号”,同时出错的文件是.obj链接文件,也就是源代码是没有语法错误的,这时候你双击这些错误也不会跳转到具体语句。

看后面可以看出,关于vtk我用到的很多函数都出了问题,这就说明配置项目的时候有问题。


解决方法:

1.点击左侧解决方案管理器下方的"属性管理器”(或者直接右击项目属性),然后双击图中2的位置。


2.弹出如下对话框:这个对话框是配置中用到的,但基本所有配置都不会讲这些配置有问题会出什么错。(相信看到这些所有人都会很眼熟,但很多莫名其妙的错误就是这些配置引起的)

一个是包含目录:这个指的是去哪里找vtk、itk的头文件。


一个是库目录:库目录是所有的lib文件,比如我打开我的vtk库目录,下图。(这个在配置的时候最好去你安装vtk的目录下找到这个文件夹,看看有没有.lib的文件,因为有很多Debug文件夹,里面有的是没有.lib的,那就说明配错了。)


在确定你配置的库目录下有很多.lib文件后,就可以下一步了。

这个目录设置好后只为了让我们去添加另一个东西


可以看到附加依赖项是很多.lib文件,如果你的项目这里没有关于vtk的.lib就会出现文章开始的报错,同时还有一点,这里的.lib是相对路径,原因就是上面配置了库目录的目录位置,所以系统就知道去那几个文件夹里去找.lib,如果那几个文件夹没有你在这里写的.lib就会说

而且这个报错会一个个出,一般我们配置会粘进来很多.lib,即使所有.lib都找不到,他每次只说找不到这一个,出现这个问题的时候说明,库目录配置错了。

当提示找不到文件时,你要进到vtk的目录下,看看是否有这个.lib文件,如果没有直接在附加依赖项中把这个删掉,很多配置从网上粘过来的时候,由于vtk版本的不同,导致.lib不完全相同,没有的直接去掉就好。

在附加依赖项配置时,也可以写绝对路径,这时候你库目录那里的配置就不重要了。


比如,在这个项目中,我是用cmake配置的项目,我打开附加依赖项发现关于vtk的库文件都是绝对路径的,cmake的好处就是省去上面配置的过程,用cmakelists.txt去把这些工作命令给电脑自动完成。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值