[
https://issues.apache.org/jira/browse/THRIFT-3810?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15368745#comment-15368745
]
ASF GitHub Bot commented on THRIFT-3810:
----------------------------------------
GitHub user jeking3 opened a pull request:
https://github.com/apache/thrift/pull/1043
THRIFT-3810: fix compiler warnings on windows with VS2010
Also fixed: concurrency tests were using assert() in a bad way limiting
them to debug builds only
Also fixed: changed config.h VERSION to THRIFT_VERSION to avoid conflicts
with windows or third party headers
With this pull request in a CMake build on Windows VS2010 or on Linux
(Ubuntu 14.04) the C++ code compiles clean with /W3 level warnings enabled.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jeking3/thrift defect/THRIFT-3810
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/thrift/pull/1043.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1043
----
commit 61d4fa18cdfac68049cb6e3169d163533a19b66e
Author: James E. King, III <[email protected]>
Date: 2016-07-08T22:04:21Z
THRIFT-3810: fix compiler warnings on windows with VS2010 and fix
concurrency tests only running in debug mode; change VERSION to THRIFT_VERSION
to avoid conflicts with third party or OS headers
----
> unresolved external symbol "public: virtual void __cdecl
> apache::thrift::server::TServerFramework::serve(void)"
> (?serve@TServerFramework@server@thrift@apache@@UEAAXXZ)
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-3810
> URL: https://issues.apache.org/jira/browse/THRIFT-3810
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9.3
> Environment: Virtual studio 2013 and windows 7
> Reporter: zengraoli
> Assignee: James E. King, III
> Fix For: 0.10.0
>
>
> {color:red}
> $. add TestServer.thrift
> {color}
> {code}
> namespace cpp zam.thrift.test
> namespace py thriftTest
> namespace java com.zam.thrift.test
> namespace php thriftTest
> service Hello {
> string helloString(1:string word)
> }
> {code}
> {color:red}
> $. compile TestServer.thrift
> {color}
> {code}
> thrift --strict --gen cpp --out . TestServer.thrift
> {code}
> {color:red}
> $. copy build c++ code in Visual Studio and run, tips unresolved external
> symbol :
> {color}
> {code}
> "public: virtual void __cdecl
> apache::thrift::server::TServerFramework::serve(void)"
> (?serve@TServerFramework@server@thrift@apache@@UEAAXXZ)
> "public: virtual void __cdecl
> apache::thrift::server::TServerFramework::serve(void)"
> (?serve@TServerFramework@server@thrift@apache@@UEAAXXZ)
> "public: __cdecl
> apache::thrift::server::TServerFramework::TServerFramework(class
> boost::shared_ptr<class apache::thrift::TProcessorFactory> const &,class
> boost::shared_ptr<class apache::thrift::transport::TServerTransport> const
> &,class boost::shared_ptr<class apache::thrift::transport::TTransportFactory>
> const &,class boost::shared_ptr<class
> apache::thrift::protocol::TProtocolFactory> const &)"
> (??0TServerFramework@server@thrift@apache@@QEAA@AEBV?$shared_ptr@VTProcessorFactory@thrift@apache@@@boost@@AEBV?$shared_ptr@VTServerTransport@transport@thrift@apache@@@5@AEBV?$shared_ptr@VTTransportFactory@transport@thrift@apache@@@5@AEBV?$shared_ptr@VTProtocolFactory@protocol@thrift@apache@@@5@@Z),该符号在函数
> "public: __cdecl apache::thrift::server::TSimpleServer::TSimpleServer(class
> boost::shared_ptr<class apache::thrift::TProcessorFactory> const &,class
> boost::shared_ptr<class apache::thrift::transport::TServerTransport> const
> &,class boost::shared_ptr<class apache::thrift::transport::TTransportFactory>
> const &,class boost::shared_ptr<class
> apache::thrift::protocol::TProtocolFactory> const &)"
> (??0TSimpleServer@server@thrift@apache@@QEAA@AEBV?$shared_ptr@VTProcessorFactory@thrift@apache@@@boost@@AEBV?$shared_ptr@VTServerTransport@transport@thrift@apache@@@5@AEBV?$shared_ptr@VTTransportFactory@transport@thrift@apache@@@5@AEBV?$shared_ptr@VTProtocolFactory@protocol@thrift@apache@@@5@@Z)
> {code}
> {color:red}
> $.why error is occur of TServerFramework file?
> {color}
> {color:red}
> $.main code:
> {color}
> {code}
> #include "hello.h"
> #include <Thrift.h>
> #include <thrift/Thrift.h>
> #include <thrift/protocol/TBinaryProtocol.h>
> #include <thrift/server/TSimpleServer.h>
> #include <thrift/transport/TServerSocket.h>
> #include <thrift/transport/TBufferTransports.h>
> #pragma comment(lib, "libthrift.lib")
> #pragma comment(lib, "libeay32.lib")
> #pragma comment(lib, "ssleay32.lib")
> using namespace ::apache::thrift;
> using namespace ::apache::thrift::protocol;
> using namespace ::apache::thrift::transport;
> using namespace ::apache::thrift::server;
> using boost::shared_ptr;
> class helloHandler : virtual public helloIf {
> public:
> helloHandler() {
> // Your initialization goes here
> }
> void func1() {
> // Your implementation goes here
> printf("Hello Thrift\n");
> }
> };
> int main(int argc, char **argv) {
> WORD wVersionRequested;
> WSADATA wsaData;
> int err;
> wVersionRequested = MAKEWORD(2, 2);
> err = WSAStartup(wVersionRequested, &wsaData);
> int port = 9090;
> shared_ptr<helloHandler> handler(new helloHandler());
> shared_ptr<TProcessor> processor(new helloProcessor(handler));
> shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
> shared_ptr<TTransportFactory> transportFactory(new
> TBufferedTransportFactory());
> shared_ptr<TProtocolFactory> protocolFactory(new
> TBinaryProtocolFactory());
> TSimpleServer server(processor, serverTransport, transportFactory,
> protocolFactory);
> server.serve();
> return 0;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)