【Debug】C++编译报错 prerequisites are different 解决方案
2022/1/9 11:33:51
本文主要是介绍【Debug】C++编译报错 prerequisites are different 解决方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 场景
- 原因
- 解决方案
场景
将新的 x.h / x.hpp / x.c / x.cpp 文件添加入 UE4 项目中时,即使没有别的文件 include 这些新文件,编译时(Build/Rebuild 均会)可能会出现如下报错:
unrealbuildtool prerequisites are different
这个报错发生在编译出 x.obj 文件,但不能正确执行 LINK 操作
原因
顾名思义,代码本身没有问题,而是代码块无法融入已有项目。 UE4 对于 include 文件有路径上的预处理,如果文件的路径名重复,则会出现这个问题。例如:
- module 下已有 Proto/error.pb.h
- 尝试新增 Server/XXServer/proto/error.pb.h
根据 UE4 的 include 规则,#include "proto/error.pb.h"
可能(在Server/XXServer 目录下的文件引入时)同时指向两个文件,从而无法准确判断,编译报错。
注:windows 下 unrealbuildtool 不判断大小写,Proto/ 和 proto/ 的路径相同
解决方案
- 目录路径不要有重叠,尽可能避免路径同名
- 同名路径下不要有同名文件
这篇关于【Debug】C++编译报错 prerequisites are different 解决方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享