Fix protobuf dynamic build

Backport https://github.com/google/protobuf/pull/3216
This commit is contained in:
Silvio 2017-06-12 17:26:30 +02:00
parent a24dacfc97
commit 0e50d70199
2 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,13 @@
diff --git a/src/google/protobuf/generated_message_util.h b/src/google/protobuf/generated_message_util.h
index 4417446..a7154b4 100644
--- a/src/google/protobuf/generated_message_util.h
+++ b/src/google/protobuf/generated_message_util.h
@@ -164,7 +164,7 @@ class ExplicitlyConstructed {
// Default empty string object. Don't use this directly. Instead, call
// GetEmptyString() to get the reference.
-extern ExplicitlyConstructed< ::std::string> fixed_address_empty_string;
+LIBPROTOBUF_EXPORT extern ExplicitlyConstructed< ::std::string> fixed_address_empty_string;
LIBPROTOBUF_EXPORT extern ProtobufOnceType empty_string_once_init_;
LIBPROTOBUF_EXPORT void InitEmptyString();

View File

@ -17,6 +17,15 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION})
set(TOOL_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}-win32)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
# Patch to fix the missing export of fixed_address_empty_string,
# see https://github.com/google/protobuf/pull/3216
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-missing-export.patch"
)
vcpkg_extract_source_archive(${TOOL_ARCHIVE_FILE} ${TOOL_PATH})
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)