aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliujisi@google.com <liujisi@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2013-01-11 10:35:05 +0000
committerliujisi@google.com <liujisi@google.com@630680e5-0e50-0410-840e-4b1c322b438d>2013-01-11 10:35:05 +0000
commit117064c18b13dfe2e46f26b6dabe986c44f60fcd (patch)
tree0d84740e8ca73ee6555097bf00e8c139c12ea7ae
parent71caf8c25def6d337e6ff7f752e487089d752b6f (diff)
downloadprotobuf-117064c18b13dfe2e46f26b6dabe986c44f60fcd.tar.gz
protobuf-117064c18b13dfe2e46f26b6dabe986c44f60fcd.tar.bz2
protobuf-117064c18b13dfe2e46f26b6dabe986c44f60fcd.zip
add missing dll export macros for msvc.
-rw-r--r--src/google/protobuf/compiler/java/java_doc_comment.h2
-rw-r--r--src/google/protobuf/compiler/subprocess.h2
-rw-r--r--src/google/protobuf/message.cc4
-rw-r--r--src/google/protobuf/stubs/once.h1
-rw-r--r--src/google/protobuf/stubs/stringprintf.h12
5 files changed, 11 insertions, 10 deletions
diff --git a/src/google/protobuf/compiler/java/java_doc_comment.h b/src/google/protobuf/compiler/java/java_doc_comment.h
index f77720b6..7244d9ba 100644
--- a/src/google/protobuf/compiler/java/java_doc_comment.h
+++ b/src/google/protobuf/compiler/java/java_doc_comment.h
@@ -59,7 +59,7 @@ void WriteMethodDocComment(io::Printer* printer,
const MethodDescriptor* method);
// Exposed for testing only.
-string EscapeJavadoc(const string& input);
+LIBPROTOC_EXPORT string EscapeJavadoc(const string& input);
} // namespace java
} // namespace compiler
diff --git a/src/google/protobuf/compiler/subprocess.h b/src/google/protobuf/compiler/subprocess.h
index de9fce9e..00564964 100644
--- a/src/google/protobuf/compiler/subprocess.h
+++ b/src/google/protobuf/compiler/subprocess.h
@@ -53,7 +53,7 @@ class Message;
namespace compiler {
// Utility class for launching sub-processes.
-class Subprocess {
+class LIBPROTOC_EXPORT Subprocess {
public:
Subprocess();
~Subprocess();
diff --git a/src/google/protobuf/message.cc b/src/google/protobuf/message.cc
index 6119d26a..441be534 100644
--- a/src/google/protobuf/message.cc
+++ b/src/google/protobuf/message.cc
@@ -188,7 +188,7 @@ bool Message::SerializePartialToOstream(ostream* output) const {
Reflection::~Reflection() {}
#define HANDLE_TYPE(TYPE, CPPTYPE, CTYPE) \
-template<> \
+template<> LIBPROTOBUF_EXPORT \
const RepeatedField<TYPE>& Reflection::GetRepeatedField<TYPE>( \
const Message& message, const FieldDescriptor* field) const { \
return *static_cast<RepeatedField<TYPE>* >( \
@@ -196,7 +196,7 @@ const RepeatedField<TYPE>& Reflection::GetRepeatedField<TYPE>( \
field, CPPTYPE, CTYPE, NULL)); \
} \
\
-template<> \
+template<> LIBPROTOBUF_EXPORT \
RepeatedField<TYPE>* Reflection::MutableRepeatedField<TYPE>( \
Message* message, const FieldDescriptor* field) const { \
return static_cast<RepeatedField<TYPE>* >( \
diff --git a/src/google/protobuf/stubs/once.h b/src/google/protobuf/stubs/once.h
index c8cbe246..7fbc117f 100644
--- a/src/google/protobuf/stubs/once.h
+++ b/src/google/protobuf/stubs/once.h
@@ -118,6 +118,7 @@ typedef internal::AtomicWord ProtobufOnceType;
#define GOOGLE_PROTOBUF_ONCE_INIT ::google::protobuf::ONCE_STATE_UNINITIALIZED
+LIBPROTOBUF_EXPORT
void GoogleOnceInitImpl(ProtobufOnceType* once, Closure* closure);
inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()) {
diff --git a/src/google/protobuf/stubs/stringprintf.h b/src/google/protobuf/stubs/stringprintf.h
index 573f30f3..4a03e5ff 100644
--- a/src/google/protobuf/stubs/stringprintf.h
+++ b/src/google/protobuf/stubs/stringprintf.h
@@ -50,25 +50,25 @@ namespace google {
namespace protobuf {
// Return a C++ string
-extern string StringPrintf(const char* format, ...);
+LIBPROTOBUF_EXPORT extern string StringPrintf(const char* format, ...);
// Store result into a supplied string and return it
-extern const string& SStringPrintf(string* dst, const char* format, ...);
+LIBPROTOBUF_EXPORT extern const string& SStringPrintf(string* dst, const char* format, ...);
// Append result to a supplied string
-extern void StringAppendF(string* dst, const char* format, ...);
+LIBPROTOBUF_EXPORT extern void StringAppendF(string* dst, const char* format, ...);
// Lower-level routine that takes a va_list and appends to a specified
// string. All other routines are just convenience wrappers around it.
-extern void StringAppendV(string* dst, const char* format, va_list ap);
+LIBPROTOBUF_EXPORT extern void StringAppendV(string* dst, const char* format, va_list ap);
// The max arguments supported by StringPrintfVector
-extern const int kStringPrintfVectorMaxArgs;
+LIBPROTOBUF_EXPORT extern const int kStringPrintfVectorMaxArgs;
// You can use this version when all your arguments are strings, but
// you don't know how many arguments you'll have at compile time.
// StringPrintfVector will LOG(FATAL) if v.size() > kStringPrintfVectorMaxArgs
-extern string StringPrintfVector(const char* format, const vector<string>& v);
+LIBPROTOBUF_EXPORT extern string StringPrintfVector(const char* format, const vector<string>& v);
} // namespace protobuf
} // namespace google