You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2016/05/02 15:38:12 UTC
[jira] [Reopened] (THRIFT-3810) unresolved external symbol "public:
virtual void __cdecl apache::thrift::server::TServerFramework::serve(void)"
(?serve@TServerFramework@server@thrift@apache@@UEAAXXZ)
[ https://issues.apache.org/jira/browse/THRIFT-3810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III reopened THRIFT-3810:
----------------------------------------
> 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
>
> {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)