[ 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 <jim.k...@simplivity.com> 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)