UE插件开发引用包含第三方库头文件问题总结

简介: UE插件开发引用包含第三方库头文件问题总结

1.Windows平台类型冲突

INT,UINT,DWORD ,FLOAT,TRUE ,FALSE 宏冲突

#include "Windows/AllowWindowsPlatformTypes.h"
你的头文件
#include "Windows/HideWindowsPlatformTypes.h"

2.自增自减锁冲突

InterlockedIncrement,InterlockedDecrement类一些列锁冲突

#include "Windows/AllowWindowsPlatformAtomics.h"
你的头文件
#include "Windows/HideWindowsPlatformAtomics.h"

3.第三方库引起的警告

THIRD_PARTY_INCLUDES_START
你的头文件
THIRD_PARTY_INCLUDES_END

以上部分可以合并在一起,写成:

#if PLATFORM_WINDOWS
#include "Windows/AllowWindowsPlatformTypes.h"
#include "Windows/AllowWindowsPlatformAtomics.h"
THIRD_PARTY_INCLUDES_START
你的头文件
THIRD_PARTY_INCLUDES_END
#include "Windows/HideWindowsPlatformAtomics.h"
#include "Windows/HideWindowsPlatformTypes.h"
#endif

4.宏重定义的问题

CONSTEXPR,check,dynamic_cast,PI四个宏会出现重定义的问题,在包含头文件前使其无效化,然后恢复有效化就行了。

#if PLATFORM_WINDOWS
#pragma push_macro("CONSTEXPR")
#undef CONSTEXPR
#pragma push_macro("check")
#undef check
#pragma push_macro("dynamic_cast")
#undef dynamic_cast
#pragma push_macro("PI")
#undef PI
你的头文件
#pragma pop_macro("PI")
#pragma pop_macro("check")
#pragma pop_macro("dynamic_cast")
#pragma pop_macro("CONSTEXPR")
#endif
相关文章
|
5月前
Qml:第一个qml程序
Qml:第一个qml程序
|
6月前
|
编译器 API C++
【C++ 动态库设计】动态库中的模板函数:解决如果将模板函数封装成API库
【C++ 动态库设计】动态库中的模板函数:解决如果将模板函数封装成API库
278 0
|
6月前
|
存储 缓存 Unix
Cmake 链接外部库:如何在项目中使用外部库和头文件
Cmake 链接外部库:如何在项目中使用外部库和头文件
509 0
|
6月前
|
算法 关系型数据库 编译器
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(一)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
192 0
|
6月前
|
C++
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(二)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
104 0
|
11月前
|
前端开发 小程序 PHP
laravel5.8(四)引入自定义常量文件及公共函数文件
开发过程中,我们一般会用到一些不会改变,或者改变不是很频繁的值,这样的值我们一般将他们定义成常量。 比如网站根目录,或者分页数,或者域名等等。 那我们如何在laravel5.8中引入自定义的常量文件及公共的函数文件呢。 大概有两种方式: 1:框架目录下引入(不推荐) 在框架目录vendor下新建常量文件const.php,以及公共函数文件function.php 在autoload.php文件中引入。 这种方法是可以的,但是不推荐,框架目录下最好都是框架自己的那些文件,正常来说,框架的文件我们在开发过程中,git是不会进行托管的。 2:在app目录下引入 在bootstrap目录下新建常量文件
68 0
|
JavaScript 前端开发 C++
JavaScript 调用 C++/Qt 工程(附有代码 + demo)
JavaScript 调用 C++/Qt 工程(附有代码 + demo)
|
C++ iOS开发
iOS开发 -- 在Xcode中引入cpp文件,并调用cpp文件中的方法
iOS开发 -- 在Xcode中引入cpp文件,并调用cpp文件中的方法
863 0
iOS开发 -- 在Xcode中引入cpp文件,并调用cpp文件中的方法
|
IDE 开发工具 C语言
OpenGL学习笔记(七):创建第一个Qt5.9.3 OpenGL工程模版(与平台无关)
OpenGL学习笔记(七):创建第一个Qt5.9.3 OpenGL工程模版(与平台无关)
OpenGL学习笔记(七):创建第一个Qt5.9.3 OpenGL工程模版(与平台无关)
|
小程序 C语言 C++
Qt-第一个QML程序-1-项目工程的建立
这个小程序是我发的第一个完整的QMl程序,这个程序也会持续的更新,一步一步的完善起来,最后会有一个什么样的结果也是不知道,只是把自己目前掌握的QML相关的东西都慢慢的写进来,积累起来
153 0
Qt-第一个QML程序-1-项目工程的建立