protobuf:Releases · protocolbuffers/protobuf
https://github.com/protocolbuffers/protobuf/releases
解压后默认third_party\abseil-cpp默认为空,需要下载第三方模块
Releases · abseil/abseil-cpp
https://github.com/abseil/abseil-cpp/releases


错误

解决方法
取消勾选![]()
错误

解决方法
勾选![]()
cmake版本错误

修改third_party\utf8_range\CMakeLists.txt
第一行
cmake_minimum_required (VERSION 3.5)
改为
3.26为cmake的版本
cmake_minimum_required (VERSION 3.5...3.26)
protobuf CMakeLists.txt
set (CMAKE_CXX_STANDARD 17)
set (CMAKE_CXX_STANDARD_REQUIRED ON)
cmake_minimum_required(VERSION 3.10...3.26)


vs里编译代码成功后,在build目录下执行
cmake --install .
在 C:\Program Files (x86)\protobuf下
UE端新建第三方库插件
将include和lib拷贝到模块下
build.cs
// Fill out your copyright notice in the Description page of Project Settings.
using System.IO;
using UnrealBuildTool;
public class SimProtobufLibrary : ModuleRules
{
public SimProtobufLibrary(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
PublicSystemIncludePaths.Add(Path.Combine(ModuleDirectory, "include"));
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PublicSystemLibraryPaths.Add(Path.Combine(ModuleDirectory, "lib", "Windows"));
PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "include"));
PublicSystemLibraries.Add("absl_bad_any_cast_impl.lib");
PublicSystemLibraries.Add("absl_bad_optional_access.lib");
PublicSystemLibraries.Add("absl_bad_variant_access.lib");
PublicSystemLibraries.Add("absl_base.lib");
PublicSystemLibraries.Add("absl_city.lib");
PublicSystemLibraries.Add("absl_civil_time.lib");
PublicSystemLibraries.Add("absl_cord.lib");
PublicSystemLibraries.Add("absl_cordz_functions.lib");
PublicSystemLibraries.Add("absl_cordz_handle.lib");
PublicSystemLibraries.Add("absl_cordz_info.lib");
PublicSystemLibraries.Add("absl_cordz_sample_token.lib");
PublicSystemLibraries.Add("absl_cord_internal.lib");
PublicSystemLibraries.Add("absl_crc32c.lib");
PublicSystemLibraries.Add("absl_crc_cord_state.lib");
PublicSystemLibraries.Add("absl_crc_cpu_detect.lib");
PublicSystemLibraries.Add("absl_crc_internal.lib");
PublicSystemLibraries.Add("absl_debugging_internal.lib");
PublicSystemLibraries.Add("absl_decode_rust_punycode.lib");
PublicSystemLibraries.Add("absl_demangle_internal.lib");
PublicSystemLibraries.Add("absl_demangle_rust.lib");
PublicSystemLibraries.Add("absl_die_if_null.lib");
PublicSystemLibraries.Add("absl_examine_stack.lib");
PublicSystemLibraries.Add("absl_exponential_biased.lib");
PublicSystemLibraries.Add("absl_failure_signal_handler.lib");
PublicSystemLibraries.Add("absl_flags_commandlineflag.lib");
PublicSystemLibraries.Add("absl_flags_commandlineflag_internal.lib");
PublicSystemLibraries.Add("absl_flags_config.lib");
PublicSystemLibraries.Add("absl_flags_internal.lib");
PublicSystemLibraries.Add("absl_flags_marshalling.lib");
PublicSystemLibraries.Add("absl_flags_parse.lib");
PublicSystemLibraries.Add("absl_flags_private_handle_accessor.lib");
PublicSystemLibraries.Add("absl_flags_program_name.lib");
PublicSystemLibraries.Add("absl_flags_reflection.lib");
PublicSystemLibraries.Add("absl_flags_usage.lib");
PublicSystemLibraries.Add("absl_flags_usage_internal.lib");
PublicSystemLibraries.Add("absl_graphcycles_internal.lib");
PublicSystemLibraries.Add("absl_hash.lib");
PublicSystemLibraries.Add("absl_hashtablez_sampler.lib");
PublicSystemLibraries.Add("absl_int128.lib");
PublicSystemLibraries.Add("absl_kernel_timeout_internal.lib");
PublicSystemLibraries.Add("absl_leak_check.lib");
PublicSystemLibraries.Add("absl_log_entry.lib");
PublicSystemLibraries.Add("absl_log_flags.lib");
PublicSystemLibraries.Add("absl_log_globals.lib");
PublicSystemLibraries.Add("absl_log_initialize.lib");
PublicSystemLibraries.Add("absl_log_internal_check_op.lib");
PublicSystemLibraries.Add("absl_log_internal_conditions.lib");
PublicSystemLibraries.Add("absl_log_internal_fnmatch.lib");
PublicSystemLibraries.Add("absl_log_internal_format.lib");
PublicSystemLibraries.Add("absl_log_internal_globals.lib");
PublicSystemLibraries.Add("absl_log_internal_log_sink_set.lib");
PublicSystemLibraries.Add("absl_log_internal_message.lib");
PublicSystemLibraries.Add("absl_log_internal_nullguard.lib");
PublicSystemLibraries.Add("absl_log_internal_proto.lib");
PublicSystemLibraries.Add("absl_log_severity.lib");
PublicSystemLibraries.Add("absl_log_sink.lib");
PublicSystemLibraries.Add("absl_low_level_hash.lib");
PublicSystemLibraries.Add("absl_malloc_internal.lib");
PublicSystemLibraries.Add("absl_periodic_sampler.lib");
PublicSystemLibraries.Add("absl_poison.lib");
PublicSystemLibraries.Add("absl_random_distributions.lib");
PublicSystemLibraries.Add("absl_random_internal_distribution_test_util.lib");
PublicSystemLibraries.Add("absl_random_internal_platform.lib");
PublicSystemLibraries.Add("absl_random_internal_pool_urbg.lib");
PublicSystemLibraries.Add("absl_random_internal_randen.lib");
PublicSystemLibraries.Add("absl_random_internal_randen_hwaes.lib");
PublicSystemLibraries.Add("absl_random_internal_randen_hwaes_impl.lib");
PublicSystemLibraries.Add("absl_random_internal_randen_slow.lib");
PublicSystemLibraries.Add("absl_random_internal_seed_material.lib");
PublicSystemLibraries.Add("absl_random_seed_gen_exception.lib");
PublicSystemLibraries.Add("absl_random_seed_sequences.lib");
PublicSystemLibraries.Add("absl_raw_hash_set.lib");
PublicSystemLibraries.Add("absl_raw_logging_internal.lib");
PublicSystemLibraries.Add("absl_scoped_set_env.lib");
PublicSystemLibraries.Add("absl_spinlock_wait.lib");
PublicSystemLibraries.Add("absl_stacktrace.lib");
PublicSystemLibraries.Add("absl_status.lib");
PublicSystemLibraries.Add("absl_statusor.lib");
PublicSystemLibraries.Add("absl_strerror.lib");
PublicSystemLibraries.Add("absl_strings.lib");
PublicSystemLibraries.Add("absl_strings_internal.lib");
PublicSystemLibraries.Add("absl_string_view.lib");
PublicSystemLibraries.Add("absl_str_format_internal.lib");
PublicSystemLibraries.Add("absl_symbolize.lib");
PublicSystemLibraries.Add("absl_synchronization.lib");
PublicSystemLibraries.Add("absl_throw_delegate.lib");
PublicSystemLibraries.Add("absl_time.lib");
PublicSystemLibraries.Add("absl_time_zone.lib");
PublicSystemLibraries.Add("absl_utf8_for_code_point.lib");
PublicSystemLibraries.Add("absl_vlog_config_internal.lib");
PublicSystemLibraries.Add("libprotobuf-lite.lib");
PublicSystemLibraries.Add("libprotobuf.lib");
PublicSystemLibraries.Add("libprotoc.lib");
PublicSystemLibraries.Add("libupb.lib");
PublicSystemLibraries.Add("utf8_range.lib");
PublicSystemLibraries.Add("utf8_validity.lib");
}
}
}
3174

被折叠的 条评论
为什么被折叠?



