![](https://img-blog.csdnimg.cn/20190911144344963.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。
Ning+
这个作者很懒,什么都没留下…
展开
-
VS2017+ITK-5.1.1+VTK-9.0.1
一、编译安装ITK-5.1.1下载对应版本库,创建文件夹:创建ITKlib:Bin,Build,SourceBin:后续VS2017编译的文件路径;Build:cmake编译后的文件路径;Source:将ITK-5.0.1解压到该目录下。1.Cmake选 x642.更改选项:(1)将CMAKE_INSTALL_PREFIX选项设置到创建的 \ITKlib\Bin文件夹(2)勾选BUILD_SHARED_LIBS选项,勾选该选项会生成动态链接库dll文件(3)勾选Module_I原创 2020-09-11 18:52:23 · 1298 阅读 · 0 评论 -
【UE4】C++与蓝图分别实现3点位置夹角计算
C++const FVector2D& Pt1 = 1point;const FVector2D& Pt2 = 2point;float EdgeRadians1 = FMath::Atan2(Pt2.Y - Pt1.Y, Pt2.X - Pt1.X);const FVector2D& PP1 = 2point;const FVector2D& PP2 = 3point;float EdgeRadians2 = FMath::Atan2(PP2.Y - PP1原创 2020-05-28 10:34:36 · 1535 阅读 · 0 评论 -
【UE4】4.21 源码编译错误UE4 NDIS_MINIPORT_MAJOR_VERSION 解决方法
if (CompileEnvironment.bUndefinedIdentifierWarningsAsErrors) { //BEGIN TBS - this currently chokes on the Windows 10 SDK shipping with VS 2019 if(EnvVars.WindowsSdkVersion.ToString().Contains("1...原创 2020-05-20 18:27:09 · 1360 阅读 · 0 评论 -
【UE4】修改大气层半径
路径:E:\UE4\UnrealEngine-4.25\Engine\Source\Runtime\Engine\Classes\Components\SkyAtmosphereComponent.h修改BottomRadius这个值的范围即可;原创 2020-05-07 17:45:11 · 1146 阅读 · 1 评论 -
【UE4】 异步加载本地磁盘中的image
1.XXX.build.cs中添加 RenderCore ImageWrapper模块2.参考文章:https://zhuanlan.zhihu.com/p/95968374通过Async添加异步任务3.通过ImageWrapper读取 解压图片文件参考资源中的ImageLoader.h ImageLoader.cpp...原创 2020-04-23 18:02:36 · 1183 阅读 · 0 评论 -
【UE4】编译内置 CEF3 3071源码开启h264解码
3701文件资源https://download.csdn.net/download/maxiaosheng521/12268262https://download.csdn.net/download/maxiaosheng521/12248968https://download.csdn.net/download/maxiaosheng521/12249032https://do...转载 2020-04-23 17:29:42 · 3172 阅读 · 0 评论 -
【CEF】开启MP3,MP4支持 Linux平台
背景:在cef上进行二次开发,发现默认不只支持h264解码。需要重新编译chromium解决。步骤:https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md#markdown-header-linux-setup为官方编译指导。主要步骤已经十分详细。下面红字部分补充一些实际编译遇到...转载 2020-04-23 16:37:45 · 1473 阅读 · 1 评论 -
【UE4】 各个目录路径
void AGetPath::GetDir( FString& BaseDir, FString& RootDir, FString& GameDir){ BaseDir = FPlatformProcess::BaseDir(); //EXE所在目录 RootDir = FPaths::EngineDir(); //根目录...原创 2020-04-14 14:50:48 · 3456 阅读 · 0 评论 -
【UE4】下载URL图片保存到本地
/*@author:Ning+@theme:URL下载图片 2020/04/01*/#include "Windows/AllowWindowsPlatformTypes.h"#include "Windows/PreWindowsApi.h"#include <tchar.h>#include <iostream>#include <urlmon...原创 2020-04-01 15:21:08 · 3003 阅读 · 2 评论 -
【UE4】编译提示typeinfo.h找不到的问题解决方法
方法1:typeinfo.h 改为typeinfo;方法2:拷贝typeinfo.h文件;原创 2020-03-26 17:57:53 · 2225 阅读 · 0 评论 -
Python 调用C编译的动态链接库DLL方法
1.首先使用C编译一个含有例如sum函数的动态链接库 xxx.DLL;2.Python语法如下:from ctypes import *dll = CDLL(r"xxx.dll")a = c_int(3)b = c_int(5)c = dll.sum(a,b)print(c)看到打印结果正确即成功;...原创 2020-03-24 11:46:28 · 533 阅读 · 0 评论 -
编译动态链接库DLL后,查看DLL内函数名及改名方法
1.使用VS自带的dumpbin工具查看DLL内容dumpbin /exports "DLL.DLL"看到结果如下:可以看到动态链接库内部的一个函数名为sum;原创 2020-03-24 11:25:20 · 2285 阅读 · 0 评论 -
【U4】如何修改编译使用的CPU核心数量
通过修改Engine\Saved\UnrealBuildTool\BuildConfiguration.xml文件中的配置:<?xml version="1.0" encoding="utf-8" ?><Configuration xmlns="https://www.unrealengine.com/BuildConfiguration"> <Pro...原创 2020-03-24 10:15:39 · 2675 阅读 · 1 评论 -
【UE4】C++蓝图节点中文注释乱码解决
修改前,鼠标放在节点上显示乱码注释;修改后,正常显示中文注释;修改方法,Vs-文件-高级保存选项-utf-8,在VS2017中,需要自定义来显示这个选项:1 工具→自定义;2 点击 命令 标签;3 在上方单选区选中 菜单栏,下拉列表选 文件;4 点击 添加命令5 在类别中,找到文件,在右侧找到高级保存选项,确定...原创 2020-03-16 11:28:56 · 1017 阅读 · 0 评论 -
【UE4】通过顶点数组自动剖分三角网格的算法
Build.cs中增加模块// Fill out your copyright notice in the Description page of Project Settings.using UnrealBuildTool;public class GeoJsonRead : ModuleRules{ public GeoJsonRead(ReadOnlyTargetRule...原创 2020-03-13 14:55:54 · 1608 阅读 · 3 评论 -
【UE4】Assertion failed:Index GetMaxIndex() 错误解决方法
The following assertion throws after the project crashes when playing on the device:Assertion failed: Index < GetMaxIndex() [File:D:/P4Workspaces/Switch_3/Engine/Source/Runtime/Core/Public/Conta...原创 2020-03-11 11:08:36 · 2557 阅读 · 1 评论 -
【UE4】 C++ FunctionLibrary调用蓝图以及常见问题
BP_Actor.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "MyMccActor.generated.h"UCLASS()class MYCPPPROJECT_API AMyMccActor : public AActor{ GENERATED_BODY...原创 2020-03-09 11:30:35 · 1519 阅读 · 0 评论 -
“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
//A.hextern xx=xx;//B.cpp#include A.hxx=xx;在A.h中变量声明前加上extern 关键字,在B.cpp中不加extern关键字再次声明这个变量;原创 2020-03-09 10:22:17 · 385 阅读 · 0 评论 -
UE4 BlueprintImplementableEvent 报错解决笔记
1.ERROR:非静态成员引用必须与特定对象相对问题解决方法//如类定义Class A{ private: int a;}//使用前声明该类A a;a.a = 10;2.BlueprintImplementableEvent失效解决方法删除.vs,Intermediate,Saved文件夹,Generate vs file,然后重新编译后解决问题;3.Bluep...转载 2020-03-06 11:11:36 · 1611 阅读 · 0 评论 -
ue4的多线程如何实现
1.新建一个FunctionLibrary 在里编写三个函数,并且在cpp里面加以实现;/////////=================.h// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#includ...转载 2020-03-05 10:58:30 · 981 阅读 · 0 评论 -
Polar坐标投影(C++)
//Polar.cpp/****Polar投影(扫描方式,自正北方向顺时针)**PACKAGE:*FILENAME:Polar.cpp*LANGUAGE:C++*ORIGINAL:Java2v1.4*DESCRIPTION:极坐标投影(主要用于雷达图像处理)*RELATED:Lambert.cppLamber...原创 2020-03-03 18:23:22 · 1044 阅读 · 0 评论 -
摄像头RTSP流硬解码
1. 问题分析项目中,之前用的是OpenCV对摄像头的RTSP流进行解码。随着时间的推移以及业务摄像头的增加,发现十路流CPU就已经100%啦,很明显解码所占CPU资源较多,导致整个系统处理效率不高,解码成为系统的瓶颈,需要赶紧马上上硬解码才行。查找资料并验证发现:OpenCV中VideoReader_GPU可以方便地利用GPU读取视频文件加速解码过程,但OpenCV中VideoReade...转载 2019-12-18 10:12:57 · 3632 阅读 · 1 评论 -
AI自动识别户型图生成3D场景方案
基于机器视觉的户型图元素自动提取方法:第1步,对户型图进行二值化处理,得到二值图像;第2步,从二值化的图像中识别出尺寸数字字符,以及字符所在区域和区域的位置,并且识别图像中的直线;第3步,将识别出的尺寸数字字符与其相对应的比例尺线段直线进行匹配;第4步,根据设定的不同的墙体拐角的形状,在二值图像中识别出墙体拐角,并从墙体拐角作为起点进行搜索,识别出墙体所在的区域;第5步,将墙体...原创 2019-12-16 10:00:20 · 7685 阅读 · 4 评论 -
UE4 从蓝图Struct生成Json并去除名称后缀
引入插件:从Struct生成JSON:按照Struct解析JSON:原创 2019-11-26 10:59:46 · 718 阅读 · 1 评论 -
UE4 插件编写时找不到引擎自带的XXX.h的解决方法
有时候我们需要编写插件,但是编译时会遇到找不到引擎自带的XXX.h的问题,首先取得xxx.h的所属模块,例如官方文档如下:然后,当你需要引用#include "JsonObjectConverter.h"文件前,首先需要在Build.cs中增加 JsonUtilities模块;PrivateDependencyModuleNames.AddRange( new string[] ...原创 2019-11-26 09:54:32 · 1831 阅读 · 0 评论 -
UE4 BlueprintImplementableEvent失效解决方法
有时候使用BlueprintImplementableEvent调用蓝图事件,编译后在场景中无法显示调用事件,删除.vs,Intermediate,Saved文件夹,Generate vs file,然后重新编译后解决问题;...原创 2019-11-25 15:45:23 · 989 阅读 · 0 评论 -
UE4 从类获取场景中的所有对象
static void GetAllActorsOfClass ( const UObject * WorldContextObject, TSubclassOf< AActor > ActorClass, TArray< AActor * > & OutActors )//需要include的头文件#include "Kismet/GameplayStat...原创 2019-11-22 18:51:37 · 5911 阅读 · 0 评论 -
UE4 ActiveMQ编译报错解决方案
1.ActiveMQ编译报错问题解决://20191122_Ning WindowsPlatformCompilerSetup.h#pragma warning(disable : 4589) //MQ 构造函数忽略虚拟基类#pragma warning(disable : 4101) //MQ 未引用的局部变量错误#pragma warning(disable : 4541) //M...原创 2019-11-22 15:58:32 · 990 阅读 · 0 评论 -
ue4 fstring 和std::string互转
FString a = "NingStudio"; //FString to std::stringstd::string cstr(TCHAR_TO_UTF8(*a));//std::string to FStringFString a = FString(cstr.c_str());string转为TCHARvoid string2tchar(std::string &...翻译 2019-11-19 13:52:07 · 2179 阅读 · 0 评论 -
UE4 常见的宏UFUNCTION-函数说明符
函数说明符:BlueprintAuthorityOnly如果在具有网络权限的计算机(服务器,专用服务器或单人游戏)上运行,此功能只能从Blueprint代码执行,如无网络权限,则该函数将不会从蓝图代码中执行BlueprintCallable该函数可以在蓝图或关卡蓝图图表中执行public: UFUNCTION(BlueprintCallable, Category = ...转载 2019-11-19 09:43:45 · 2592 阅读 · 0 评论 -
UE4 error C4668: 没有将“_WIN32_WINNT_WIN10_TH2”定义为预处理器宏,用“0”替换“#if/#elif”
#include <windows.h> 中的宏和UE4冲突所致,需要用如下头文件包<windows.h>头文件:#include "Windows/AllowWindowsPlatformTypes.h"#include "Windows/PreWindowsApi.h"#include <windows.h> //冲突头文件#include "W...原创 2019-11-19 09:19:36 · 4339 阅读 · 0 评论 -
UE4.21+VS2017配置OpenCV-Plugin
1.在建立c++文件后导入插件 https://github.com/Brandon-Wilson/OpenCV-Plugin,记得导入Binaries和ThirdParty文件;2.修改opencv.build.cs文件如下:using UnrealBuildTool;using System.IO;public class OpenCV : ModuleRules{ p...原创 2019-10-30 15:55:56 · 839 阅读 · 0 评论 -
UE4大幅提升编译速度的技巧
其中流传最广的一个就是“空格法”。这个方法可以在某些情况下下把编译时间加快三倍左右,比较恐怖了。我们讲一下操作过程:1.首先在Unreal Engine的安装文件夹下找到Win64这个文件,每个人的安装位置不太一样这是我的安装文件路径:E:\UE\UE_4.20\Engine\Binaries\Win64在下面找到Win64这个文件。2.在Win64这个文件中找到一个UnrealHead...转载 2019-10-15 13:48:35 · 17289 阅读 · 7 评论 -
UE4 插件的版本转换方法
UE4中不同版本的插件转换可以通过CMD命令来执行UE4编译:Engine\Build\BatchFiles\RunUAT.bat BuildPlugin -Rocket -Plugin="D:\Plugins\Ningstudio-4.21.uplugin" -Package="D:\Plugins\Ningstudio-4.22\package"...原创 2019-10-14 20:00:09 · 7008 阅读 · 4 评论 -
c++ fopen 编译报错解决
1.fopen改成了fopen_s后会产生更多错误比较麻烦;2.可以在程序前面加上 _CRT_SECURE_NO_WARNINGS 的宏定义,或设置 项目(Project) -> 属性(Properties) -> C/C++ -> 预处理器(Preprocessor) -> 预处理器定中添加 _CRT_SECURE_NO_WARNINGS 这个预定义;#defin...原创 2019-09-12 19:00:29 · 3127 阅读 · 0 评论 -
UE4新手常用C++API
//C++暴露给蓝图可编辑UCLASS(Blueprintable)//创建FStringFString::Printf(TEXT("aa bb"));//蓝图调用变量UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )//限制条件范围meta = (ClampMin=0.1,ClampMax = ...转载 2019-09-12 19:17:33 · 3073 阅读 · 0 评论 -
UE4加载lib库
UE4 需要在xx.Build.cs中添加动态链接库路径;// Fill out your copyright notice in the Description page of Project Settings.using UnrealBuildTool;using System.IO;public class Tickweb : ModuleRules{ public Ti...原创 2019-09-11 15:16:11 · 764 阅读 · 0 评论 -
使用C++创建一个蓝图函数
在实际的开发需求可能会遇到一些无法用蓝图实现的功能,或者实现起来比较麻烦,更或者是一些长期不动的逻辑而不想创建在蓝图中,那么就需要将一些逻辑写在C++里,这些逻辑可能是比如玩家的Input,基本上不会变的,可以写在C++里,今天我来创建一个获取本地时间的一个蓝图函数,首先创建一个C++ Class为Blueprint Library,创建好后,在头文件的GENERATED_BODY()下创建一个函...原创 2019-09-11 15:19:54 · 677 阅读 · 0 评论 -
UE4线条交点坐标获取方法
以前做过一个UE4绘制户型图的项目,当我们画两条有宽度的矩形相交时,会产生接口上的错位,如图:通过计算A线3,4与B线1,2的交点,重置B线1,A线3的坐标,通过计算A线1,3与B线3,4的交点,重置A线1,B线3的坐标;即可得到计算后的线条样式;C++计算线条交点的代码: // Get A,B,C of first line - points : ps1 to pe1 ...原创 2018-08-03 13:30:32 · 2752 阅读 · 3 评论 -
c++表达式求值——简易版
主要思想:有两个栈,一个保存操作数,一个保存操作符 当前字符是数字时,直接入栈 当前字符是操作符时,分2种情况 操作符栈空,直接入栈 操作符栈非空,把当前的操作符与栈顶的操作符进行优先级的比较。若栈顶操作符优先级>=当前操作符,就将操作数栈中的前2个操作数拿出来运算,并删除,然后把算出来的结果在入操作数栈 最后再将操作符栈里的字符退栈,并依次进行计算。这样最后操作数中剩...转载 2019-09-29 12:52:22 · 1679 阅读 · 0 评论