`
aigo
  • 浏览: 2687713 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]v4.11.0release源码编译失败:error C2065: 'bAttributeLessDraw': undeclared identifi

阅读更多

 

UE4.11.0 release 源码编译时会报错:

 

F:\EpicGames\UnrealEngine-4.11.0-release\Engine\Source\Runtime\OpenGLDrv\Private\OpenGLCommands.cpp(2794): error C2065: 'bAttributeLessDraw': undeclared identifier

F:\EpicGames\UnrealEngine-4.11.0-release\Engine\Source\Runtime\OpenGLDrv\Private\OpenGLCommands.cpp(2800): fatal error C1020: unexpected #endif

 

解决办法:

注释掉报错的代码 OpenGLCommands.cpp(2794),出现这个问题应该是github上的ue4贡献开发者误提交导致的,以前拿源码编译没碰到这种问题

 

//  @Todo Workaround for radr://15076670 "Incorrect gl_VertexID in GLSL for glDrawElementsInstanced without vertex streams on Nvidia”
 #if PLATFORM_MAC
     if(bAttributeLessDraw)
     {
         glDisableVertexAttribArray(0);
         ContextState.VertexAttrs[0].bEnabled = false;
         ContextState.VertexStreams[0].VertexBuffer = nullptr;
     }
 #endif

 

如果是mac系统,则不能删除,否则会出现其他编译错误,在UE4论坛上看到的:

OpenGLCommands.cpp文件的编码格式修改为UTF8 BOM,默认是ANSI编码。

见:https://forums.unrealengine.com/showthread.php?106156-error-C2065-bAttributeLessDraw-undeclared-identifier-build-failed-with-4-11-0-release-source

 

2016-04-16更新:

在论坛上看到的,Epic的工程师说他们环境下没有这种问题,而提出这种问题的用户,操作系统的非unicode程序的编码格式都不是英语,所以,这也可能是git的问题。仅供参考。

 

2016-04-28更新:

感觉网友wdhwg001的回答:

第2793行末尾有一个”(中文右双引号),替换为英文双引号并保存即可。

 

 

 

分享到:
评论
2 楼 aigo 2016-04-28  
wdhwg001 写道
第2793行末尾有一个”(中文右双引号),替换为英文双引号并保存即可。

1 楼 wdhwg001 2016-04-28  
第2793行末尾有一个”(中文右双引号),替换为英文双引号并保存即可。

相关推荐

    解决error C2065: '_beginthreadex' :undeclared identifier

    在编译过程中遇到“Error C2065:'_beginthreadex':undeclared identifier”这一错误信息时,通常意味着编译器无法识别`_beginthreadex`函数,即该函数未被正确声明或包含。`_beginthreadex`是用于创建新线程的一个...

    将tc下的程序移植到vc中.pdf

    4. **错误提示:error C2065: 'getch' : undeclared identifier** 解决办法:在代码顶部添加`#include <conio.h>`,因为`getch()`函数在`conio.h`中定义。 5. **错误提示:error C2065: 'registerbgidriver' : ...

    VC 常见编译错误.pdf

    error C2065: ‘_bstr_t’ : undeclared identifier error MSB8008: 指定的平台工具集(v110)未安装或无效 error C2065: “CString”: 未声明的标识符 error C2664: “ATL::CStringT,StringTraits>::Remove”: 不能...

    ubuntu18.04版本以上系统编译君正软件包问题解决方案及相应软件包

    fakeroot软件编译报出的‘_STAT_VER’ undeclared 错误,如采用网上通用的直接宏定义_STAT_VER方法虽也可以编译通过,但最后生成的文件系统大概率为非root用户,系统随可启动,但是相关命令运行及proc文件系统挂在等...

    c语言综合实验

    <... <body> <h1>Build Log --------------------Configuration: 综合...C:\Users\Silence\Documents\综合性实验\3、mian program\3、main program.cpp(13) : error C2065: 'drawmenu' : undeclared identifier

    arp error C2065

    在编程过程中,我们时常会遇到编译错误,如"error C2065: 'PacketGetVersion' : undeclared identifier"。这个错误是C或C++编程中的常见问题,表示在当前作用域内未声明标识符`PacketGetVersion`。在深入探讨解决...

    最常见的VC++编译错误信息_fatal_error

    6. Error C2065:'IDD_MYDIALOG' : undeclared identifier 这是一个常见的编译错误,原因是“IDD_MYDIALOG”未声明过的标识符。解决方法是检查是否正确地声明了该标识符。 7. Error C2082:redefinition of formal...

    C++程序编译中常见错误资料.pdf

    调试器错误信息:error C2065: 'cout' : undeclared identifier。 3. 变量未定义就直接使用 在 C++ 程序中,变量必须先声明定义,然后才能使用。如果变量未定义就直接使用,编译器将无法识别变量的类型和作用域。...

    Ruby-rubybuild编译和安装Ruby

    本文将详细介绍如何使用`ruby-build`来编译和安装Ruby。 `rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它允许你在多个项目之间轻松切换Ruby版本。而`ruby-build`是`rbenv`的一个插件,它的主要功能是编译...

    最常见的20种VC++编译错误信息集合

    **错误信息**:error C2065: 'IDD_MYDIALOG': undeclared identifier **解释**:标识符 `IDD_MYDIALOG` 未声明。通常这意味着在使用资源ID之前没有正确地包含相应的资源头文件。 **解决方法**: - 包含包含资源ID的...

    buildroot-f45925a951318e9e53bead80b363e004301adc6f.tar.bz2

    buildroot-f45925a951318e9e53bead80b363e004301adc6f.tar.bz2

    hostapd1.0移植笔记

    包含hostapd,openssl,libnl的编译说明, route/link/vlan.c:51: error: 'VLAN_FLAG_REORDER_HDR' undeclared here (not in a function)错误的解决办法

    Keil MDK 编译 ucOS-II 出现的警告和错误解决

    Keil MDK 编译 ucOS-II 出现的警告和错误解决 在使用 Keil MDK 编译 ucOS-II 时,可能会出现一些警告和错误。本文将总结这些问题的解决方法。 警告:A1876W:Use of '|' as a synonym for the :OR: operator is ...

    project.zip

    本代码参考“老狼Gh0st远程协助软件编写教程”,由于server端使用vc6.0编写时始终出现如下等错误:error C2065: 'IDC_HAND' : undeclared identifier

    C语言编程常见错误小结

    C语言是一种功能强大且灵活的编程语言,它的语法检查相对其他高级语言较为宽松,因此给程序员提供了很大的自由度,但也正因为这种灵活性,使得C语言的编程过程中容易出现一些常见的错误。以下是一些初学者常常遇到的...

    C语言练习库V1.0程序设计语言.pdf

    14. 报错解析:`error C2065: 'n' : undeclared identifier`表示变量'n'未被声明,即在使用前没有定义。 15. C语言程序执行:C语言程序总是从`main()`函数开始执行,函数可以在程序的任何位置定义。 16. 编译错误...

    20种VC++编译错误信息

    error C2065: 'IDD_MYDIALOG': undeclared identifier **描述**:标识符`IDD_MYDIALOG`未声明。 **解决方案**: - 确保包含正确的资源文件或头文件。 - 确认资源ID已在资源脚本文件中定义。 #### 7. error C2082: ...

    c++常见20个编译错误

    6、error C2065: 'IDD_MYDIALOG' : undeclared identifier。 此错误是由于“IDD_MYDIALOG”未声明,可能是由于未定义或未包含头文件引起的。 7、error C2082: redefinition of formal parameter 'bReset'。 此...

    AD Undeclared identifier:GetCurrentProductBuild 【已解决】

    在使用AD运行Ultra Librarian脚本UL_Import.pas时,低版本的Altium Designer可能会遇到错误:Undeclared identifier:GetCurrentProductBuild。 这时,点击OK,再点击停止按钮。 使用{}将出现错误的地方注释掉,...

    C语言命语法错误大全

    7. error C2065: 'i' : undeclared identifier 该错误是由于变量'i'未定义引起的。解决方法是检查变量'i'是否已经定义,确保变量'i'在使用前已经声明。 8. error C2078: too many initializers 该错误是由于数组/...

Global site tag (gtag.js) - Google Analytics