Hi friends:
I Used the code from this wiki A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums to update texture for each frame, which is
void UpdateTextureRegions(UTexture2D* Texture, int32 MipIndex, uint32 NumRegions, FUpdateTextureRegion2D* Regions, uint32 SrcPitch, uint32 SrcBpp, uint8* SrcData, bool bFreeData)
{
if (Texture->Resource)
{
struct FUpdateTextureRegionsData
{
…
I found this piece of code is almost same with the UTexture2D’s member function UTextue2d::UpdateTextureRegions, but during building, xcode just report this:
Undefined symbols for architecture x86_64:
“FRHIResource::Bypass()”, referenced from:
FRHIResource::Release() const in ScreenWall.cpp.o
“FRHIResource::PendingDeletes”, referenced from:
FRHIResource::Release() const in ScreenWall.cpp.o
“GetImmediateCommandList_ForRenderCommand()”, referenced from:
AScreenWall::UpdateTextureRegions(UTexture2D*, int, unsigned int, FUpdateTextureRegion2D*, unsigned int, unsigned int, unsigned char*, bool)::EURCMacro_UpdateTextureRegionsData::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) in ScreenWall.cpp.o
“_GRHICommandList”, referenced from:
AScreenWall::UpdateTextureRegions(UTexture2D*, int, unsigned int, FUpdateTextureRegion2D*, unsigned int, unsigned int, unsigned char*, bool)::EURCMacro_UpdateTextureRegionsData::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) in ScreenWall.cpp.o
“FRHICommandListExecutor::ExecuteList(FRHICommandListImmediate&)”, referenced from:
AScreenWall::UpdateTextureRegions(UTexture2D*, int, unsigned int, FUpdateTextureRegion2D*, unsigned int, unsigned int, unsigned char*, bool)::EURCMacro_UpdateTextureRegionsData::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) in ScreenWall.cpp.o
“UpdateTexture2D_Internal(FRHITexture2D*, unsigned int, FUpdateTextureRegion2D const&, unsigned int, unsigned char const*)”, referenced from:
AScreenWall::UpdateTextureRegions(UTexture2D*, int, unsigned int, FUpdateTextureRegion2D*, unsigned int, unsigned int, unsigned char*, bool)::EURCMacro_UpdateTextureRegionsData::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) in ScreenWall.cpp.o
“_GIsThreadedRendering”, referenced from:
AScreenWall::UpdateTextureRegions(UTexture2D*, int, unsigned int, FUpdateTextureRegion2D*, unsigned int, unsigned int, unsigned char*, bool) in ScreenWall.cpp.o
“_GMainThreadBlockedOnRenderThread”, referenced from:
AScreenWall::UpdateTextureRegions(UTexture2D*, int, unsigned int, FUpdateTextureRegion2D*, unsigned int, unsigned int, unsigned char*, bool) in ScreenWall.cpp.o
ld: symbol(s) not found for architecture x86_64
What should I do to get rid of these link errors, anyone can help?
Thanks
.