[
https://issues.apache.org/jira/browse/THRIFT-4759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16752968#comment-16752968
]
Mario Emmenlauer commented on THRIFT-4759:
------------------------------------------
I have created a PR that makes a shared library build on Windows possible. The
PR includes also all changes required to proceed with Step two. By including
the header thrift_export.h and using the macro THRIFT_EXPORT in class
definitions, classes can be explicitly exported or hidden.
Please review.
> Minor missing symbol apache::thrift::GlobalOutput for Windows shared library
> build
> ----------------------------------------------------------------------------------
>
> Key: THRIFT-4759
> URL: https://issues.apache.org/jira/browse/THRIFT-4759
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Affects Versions: 0.12.0
> Reporter: Mario Emmenlauer
> Priority: Trivial
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Current trunk has a minor problem when creating a shared library build with
> cmake on Windows with MSVC 2015 and MSVC 2017. It seems one of the symbols is
> not defined, even when
> CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is on:
> {code:java}
> TZlibTransport.cpp.obj : error LNK2001: unresolved external symbol "class
> apache::thrift::TOutput apache::thrift::GlobalOutput"
> (?GlobalOutput@thrift@apache@@3VTOutput@12@A)
> bin\thriftzmd.dll : fatal error LNK1120: 1 unresolved externals{code}
> I don't know why this symbols fails for cmake. But if you want to go another
> route with explicitly exporting all relevant classes, and you need help to
> create a cmake-based dllimport/dllexport-integration, I can offer some help.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)