Windows系统OpenEXR配置方法之: Error LNK1104 cannot open file ...... IlmImf-2_2.lib

首先我是参考了这篇博客进行OpenEXR的配置:

OpenEXR-2.2.0在Win7 x64系统下的安装方法:https://www.cnblogs.com/hksac/p/4978838.html

前面基本都没有什么问题,直到最后用vs编译OpenEXR的时候,总会出现以下两条错误:

Error   LNK1104 cannot open file '..\IlmImf\Debug\IlmImf-2_2.lib'   
Error   LNK1104 cannot open file '..\IlmImfUtil\Debug\IlmImfUtil-2_2.lib'

查阅了很多资料,大部分都说是dll文件的问题,不过不管是把lib文件夹中的dll文件放入系统文件夹或目标文件夹,还是添加环境变量,或者直接去载相应dll和lib文件等等都不行,上述问题依然存在。

 

之后在这篇帖子中,有人回答是zlib的问题,将zlib改为Win64位的就可以解决。

https://stackoverflow.com/questions/26774563/compiling-openexr-for-windows7-64-using-visual-studio-2010-fails

 

而之所以造成这一问题,是因为我使用的Visual Studio是2019版,在使用这一版进行工程文件的生成时无法直接使用指令-G "Visual Studio 16 2019 Win64",会报错。于是我没有进行选择,直接采用指令-G "Visual Studio 16 2019"进行生成了,很显然默认情况下系统选择的并不是64位。其实在系统在错误提示中其实也提到了正确的调用方法:

CMake Error: Could not create named generator Visual Studio 16 2019 Win64

Generators
* Visual Studio 16 2019        = Generates Visual Studio 2019 project files.
                                 Use -A option to specify architecture.
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".

因此将原命令改为 -G "Visual Studio 16 2019" -A x64 就可以成功按64位进行工程文件的生成。

另外,在进行生成时会出现如下等一些失败的信息,不过这并不会影响后面的编译。

-- Performing Test HAVE_GCC_INLINE_ASM_AVX - Failed

-- Performing Test HAVE_SYSCONF_NPROCESSORS_ONLN - Failed

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值