You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "jcar87 (via GitHub)" <gi...@apache.org> on 2025/10/27 15:14:33 UTC

Re: [PR] THRIFT-5841 possible init/deinit conflict with manual initialization flag [thrift]

jcar87 commented on code in PR #3077:
URL: https://github.com/apache/thrift/pull/3077#discussion_r2466068497


##########
lib/cpp/src/thrift/TOutput.cpp:
##########
@@ -31,7 +31,7 @@
 namespace apache {
 namespace thrift {
 
-THRIFT_EXPORT TOutput GlobalOutput;
+/*THRIFT_EXPORT*/ TOutput GlobalOutput;   // if you need this exported, build your own wrapper lib around and export it yourself

Review Comment:
   This partially reverts https://github.com/apache/thrift/pull/1714 and breaks building a shared library on Windows with MSVC, which is the default configuration for the CMake scripts (as per https://github.com/apache/thrift/blob/af9ac170f4de895266de4b6f9f3e68a58f113760/build/cmake/DefineOptions.cmake#L129) 
   
   Any advice here? Apologies if this is not the best way to report this - please let me know if there's a better channel.
   
   The error is:
   ```
        Creating library C:/j/b/thrif937bd10a672f8/b/build/lib/Release/thriftnbmd.lib and object C:/j/b/thrif937bd10a672f8/b/build/lib/Release/thriftnbmd.exp
   TNonblockingServer.obj : error LNK2019: unresolved external symbol "class apache::thrift::TOutput apache::thrift::GlobalOutput" (?GlobalOutput@thrift@apache@@3VTOutput@12@A) referenced in function "public: virtual __cdecl apache::thrift::server::TN
   onblockingIOThread::~TNonblockingIOThread(void)" (??1TNonblockingIOThread@server@thrift@apache@@UEAA@XZ) [C:\j\b\thrif937bd10a672f8\b\build\lib\cpp\thriftnb.vcxproj]
   TNonblockingServerSocket.obj : error LNK2001: unresolved external symbol "class apache::thrift::TOutput apache::thrift::GlobalOutput" (?GlobalOutput@thrift@apache@@3VTOutput@12@A) [C:\j\b\thrif937bd10a672f8\b\build\lib\cpp\thriftnb.vcxproj]
   C:\j\b\thrif937bd10a672f8\b\build\bin\Release\thriftnbmd.dll : fatal error LNK1120: 1 unresolved externals [C:\j\b\thrif937bd10a672f8\b\build\lib\cpp\thriftnb.vcxproj]
     Building Custom Rule C:/j/b/thrif937bd10a672f8/b/src/lib/cpp/CMakeLists.txt
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org