Help with Third Party Dependency on LibZMQ

Hello everyone, I am rather new to Unreal Programming, so please excuse me for the newbie question.

I am attempting to integrate the Static LibZMQ library into a sample UE4.21.1 Project. So that I can implement a rather simple Subscriber Class using CppZmq and use it inside of Unreal.

While I am only planning to use LibZMQ on Win64, I do not want any dependency on the DLL version of the library so that my implementation could possibly be updated to compile for any target platform.

Using the Vcpkg tool, I installed LibZMQ and CppZMQ for x64-windows-static and then copied the resulting lib file into my Unreal projects directory \ThirdParty\x64\LibZMQ\ as well as the header files into my Unreal projects directory \ThirdParty\Includes\ZeroMQ

In order to Link to LibZMQ as a Static Library you have to define the ZMQ_STATIC preprocessor directive and link to WS2_32.Lib, WSock32.Lib, and IPHlpApi.Lib

The WIN_32_LEAN_AND_MEAN preprocessor directive I do not need if using LibZMQ outside of Unreal; however, it seems to clear up some missing preprocessor macro errors in winioctl.h

So far in my build.cs file I have:


public class RPG : ModuleRules { public RPG(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string] {"Core", "CoreUObject", "Engine", "InputCore", "UMG"}); PrivateDependencyModuleNames.AddRange(new string] { }); // Uncomment if you are using Slate UI PrivateDependencyModuleNames.AddRange(new string] {"Slate", "SlateCore"}); // Uncomment if you are using online features // PrivateDependencyModuleNames.Add("OnlineSubsystem"); // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true // Import ZeroMQ Static Library LoadLibZMQ(Target); } public string ModulePath { get { return ModuleDirectory; } } private string ThirdPartyPath { get { return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty")); } } private string ThirdPartyIncludesPath { get { return Path.GetFullPath(Path.Combine(ThirdPartyPath, "Includes")); } } public bool LoadLibZMQ(ReadOnlyTargetRules Target) { bool isLibrarySupported = false; // TODO: Implement for Win32 if ((Target.Platform == UnrealTargetPlatform.Win64)) //|| (Target.Platform == UnrealTargetPlatform.Win32)) { isLibrarySupported = true; string PlatformString = ((Target.Platform == UnrealTargetPlatform.Win64) ? "x64" : "x86"); string LibrariesPath = Path.Combine(ThirdPartyPath, PlatformString); Console.WriteLine("... LibrariesPath -> " + LibrariesPath); string LibZMQPath = Path.Combine(LibrariesPath, "LibZMQ", "libzmq-mt-s-4_3_1.lib"); Console.WriteLine("... LibZMQPath -> " + LibZMQPath); PublicDefinitions.Add("WIN32_LEAN_AND_MEAN"); PublicDefinitions.Add("ZMQ_STATIC"); PublicAdditionalLibraries.AddRange(new string] { "WS2_32.Lib", "WSock32.Lib", "IPHlpApi.Lib" }); PublicAdditionalLibraries.Add(LibZMQPath); } if (isLibrarySupported) { var ZeroMQIncludesPath = Path.Combine(ThirdPartyIncludesPath, "ZeroMQ"); PublicIncludePaths.Add(ZeroMQIncludesPath); Console.WriteLine("... ZeroMQIncludesPath -> " + ZeroMQIncludesPath); } PublicDefinitions.Add(string.Format("WITH_ZEROMQ_BINDING={0}", isLibrarySupported ? 1 : 0)); return isLibrarySupported; } }

Now, when actually using CppZmq objects I receive the following Linker errors that I am unsure how to fix.

Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol “public: static class std::locale::id std::ctype<char>::id” (?id@?$ctype@D@std@@2V0locale@2@A) RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(ctx.cpp.obj) 1
Error LNK1120 2 unresolved externals RPG D:\Projects\UnrealRPG\RPG\Binaries\Win64\UE4Editor-RPG-2209.dll 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(zmq.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(err.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(ip.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(ctx.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(msg.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(clock.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(socket_poller.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(metadata.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(proxy.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(timers.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(socket_base.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(tcp.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(mailbox.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(random.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(thread.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(pipe.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(object.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(io_thread.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(reaper.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(own.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(options.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(select.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(signaler.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(pub.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(scatter.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(req.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(dealer.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(tcp_listener.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(xsub.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(router.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(udp_address.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(sub.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(gather.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(client.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(pull.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(xpub.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(rep.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(radio.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(dgram.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(session_base.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(tcp_address.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(dish.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(push.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(pair.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(mailbox_safe.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(server.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(address.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(stream.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(poller_base.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(zmq_utils.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(lb.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(io_object.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(fq.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(stream_engine.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(dist.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(trie.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(ip_resolver.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(mtrie.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(tcp_connecter.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(udp_engine.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(socks_connecter.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(raw_encoder.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(mechanism.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(raw_decoder.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(v2_encoder.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(v1_decoder.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(null_mechanism.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(plain_server.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(curve_server.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(plain_client.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(v1_encoder.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(v2_decoder.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(curve_client.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(socks.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(decoder_allocators.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(zap_client.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(mechanism_base.cpp.obj) 1
Error LNK2038 mismatch detected for ‘RuntimeLibrary’: value ‘MT_StaticRelease’ doesn’t match value ‘MD_DynamicRelease’ in SharedPCH.Engine.h.obj RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(curve_mechanism_base.cpp.obj) 1
Error MSB3075 The command ““C:\Program Files\Epic Games\UE_4.21\Engine\Build\BatchFiles\Build.bat” RPGEditor Win64 Development “D:\Projects\UnrealRPG\RPG\RPG.uproject” -WaitMutex -FromMsBuild” exited with code 5. Please verify that you have sufficient rights to run this command. RPG C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets 44
Error UBT ERROR: Failed to produce item: D:\Projects\UnrealRPG\RPG\Binaries\Win64\UE4Editor-RPG-2209.dll RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\UnrealBuildTool 1
Error LNK2001 unresolved external symbol “private: static int std::locale::id::_Id_cnt” (?_Id_cnt@id@locale@std@@0HA) RPG D:\Projects\UnrealRPG\RPG\Intermediate\ProjectFiles\libzmq-mt-s-4_3_1.lib(ctx.cpp.obj) 1

I would really appreciate any assistance that you all could give me.

Thank you very much and ha

Did you ever figure out how to fix this?
I am running into similar issue with some other library

I’m not familiar with LibZMQ but your problem here is that the library must be compiled as /MD instead of /MT. I’d contact the creator of the library and ask there for help to compile it.

Using DLLs isn’t bad at all. Unreals build system makes it easy to load and package the DLLs. Take a look through the source code of some plugins that rely on 3rd party libs.

2 Likes

Refer to BlueMountainsIO’s message and also be careful about 3rd party libraries and Unreal Macro references.

You might want to nuke any UE macro references that might interfere with ZMQ.

Refer to this topic:

Thank you so much, Highly appreciate it. Finally found a solution !!