fatal error C1001:编译器发生内部错误(编译器文件“msc1.cppp”,第1518行)

在Windows 10上使用Visual Studio 2017编译exiv2-main源码时遇到C1001内部编译器错误。问题源于tiffimage_int.cpp的1793行附近,具体为EXV_COMPLEX_BINARY_ARRY宏展开错误。通过修改头文件tiffcomposite_int.hpp和源文件tiffimage_int.cpp中的宏定义,解决了编译问题。修改包括调整模板参数和宏定义,使得编译成功。
部署运行你感兴趣的模型镜像

一、问题发生环境

1、Windows 10 企业版

2、Visual Studio2017 企业版

3、编译源码exiv2-main源码

二、问题

     1>E:\worspace_Gis\qgis-3.10.0\dependency\exiv2-main\src\tiffimage_int.cpp(1793): fatal error C1001: 编译器中发生内部错误。
    1>(编译器文件“msc1.cpp”,第 1518 行)
    1> 要解决此问题,请尝试简化或更改上面所列位置附近的程序。

三、错误发生原因

​       根据Visual Studio2017输出的提示可以知道,是tiffimage_int.cpp的1793行附近的代码存在问题。笔者经过反复检查发现是1793行附近的代码中:EXV_COMPLEX_BINARY_ARRY 宏展开错误。

四、修改代码解决问题

1、头文件修改(tiffcomposite_int.hpp)

    //template<const ArraySet* arraySet, int N, CfgSelFct cfgSelFct>
    template<int N, const ArraySet (&arraySet)[N],  CfgSelFct cfgSelFct>
    TiffComponent::UniquePtr newTiffBinaryArray2(uint16_t tag, IfdId group)
    {
        return TiffComponent::UniquePtr(
            new TiffBinaryArray(tag, group, arraySet, N, cfgSelFct));
    }

​2、源文件修改(tiffimage_int.cpp)

#define EXV_COMPLEX_BINARY_ARRAY(arraySet, cfgSelFct) (newTiffBinaryArray2<EXV_COUNTOF(arraySet), arraySet, cfgSelFct>)
//#define EXV_COMPLEX_BINARY_ARRAY(arraySet, cfgSelFct) (newTiffBinaryArray2<arraySet, EXV_COUNTOF(arraySet), cfgSelFct>)

 点赞收藏+关注,谨防丢失哦!!!

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值