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)