thrift/lib/cpp
jfarrell 524b924f61 Thrift-2421:Tree/Recursive struct support in thrift
Client: compiler
Patch: Dave Watson

Patch to go along with pull request 84 to fix missing destructors.

Github Pull Request: This closes #98
----
commit f4daec9b0af386e8f6e9e66fb688aab8cd949fdc
Date:   2014-04-09T17:33:18Z

    Also generate destructor for _result, presult, args, pargs
2014-04-09 14:55:54 -04:00
..
src/thrift THRIFT-2258:Add TLS v1.1/1.2 support to TSSLSocket.cpp 2014-03-31 23:58:32 -04:00
test Thrift-2421:Tree/Recursive struct support in thrift 2014-04-09 14:55:54 -04:00
libthrift.vcxproj THRIFT-2139: MSVC 2012 Error - Cannot compile due to BoostThreadFactory 2013-09-27 10:44:54 -05:00
libthrift.vcxproj.filters THRIFT-2139: MSVC 2012 Error - Cannot compile due to BoostThreadFactory 2013-09-27 10:44:54 -05:00
libthriftnb.vcxproj THRIFT-1753: Multiple C++ Windows, OSX, and iOS portability issues 2013-06-07 07:33:01 -04:00
libthriftnb.vcxproj.filters THRIFT-1552 Include paths for c/c++ should be prefixed with 'thrift/' 2012-04-13 09:12:31 +00:00
Makefile.am THRIFT-2407 use markdown (rename README => README.md) 2014-03-19 06:47:47 +01:00
README_WINDOWS.md THRIFT-2407 use markdown (rename README => README.md) 2014-03-19 06:47:47 +01:00
README.md THRIFT-2407 use markdown (rename README => README.md) 2014-03-19 06:47:47 +01:00
README.SSL.md THRIFT-2407 use markdown (rename README => README.md) 2014-03-19 06:47:47 +01:00
thrift-nb.pc.in THRIFT-1968 Thrift's include path is wrong in pkg-config files 2013-05-30 09:57:00 +02:00
thrift-qt.pc.in THRIFT-1968 Thrift's include path is wrong in pkg-config files 2013-05-30 09:57:00 +02:00
thrift-z.pc.in THRIFT-1968 Thrift's include path is wrong in pkg-config files 2013-05-30 09:57:00 +02:00
thrift.pc.in THRIFT-1968 Thrift's include path is wrong in pkg-config files 2013-05-30 09:57:00 +02:00
thrift.sln THRIFT-1633 Add windows build configurations to support static linking 2012-06-24 19:18:00 +00:00

Thrift C++ Software Library

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Using Thrift with C++

The Thrift C++ libraries are built using the GNU tools. Follow the instructions in the top-level README, or run bootstrap.sh in this folder to generate the Makefiles.

In case you do not want to open another README file, do this: ./bootstrap.sh ./configure (--with-boost=/usr/local) make sudo make install

Thrift is divided into two libraries.

libthrift The core Thrift library contains all the core Thrift code. It requires boost shared pointers, pthreads, and librt.

libthriftnb This library contains the Thrift nonblocking server, which uses libevent. To link this library you will also need to link libevent.

Linking Against Thrift

After you build and install Thrift the libraries are installed to /usr/local/lib by default. Make sure this is in your LDPATH.

On Linux, the best way to do this is to ensure that /usr/local/lib is in your /etc/ld.so.conf and then run /sbin/ldconfig.

Depending upon whether you are linking dynamically or statically and how your build environment it set up, you may need to include additional libraries when linking against thrift, such as librt and/or libpthread. If you are using libthriftnb you will also need libevent.

Dependencies

boost shared pointers http://www.boost.org/libs/smart_ptr/smart_ptr.htm

libevent (for libthriftnb only) http://monkey.org/~provos/libevent/