| See the documentation in the doc/ directory for information about how |
| to use the ctemplate library. |
| |
| COMPILING |
| --------- |
| To compile test applications with these classes, run ./configure |
| followed by make. To install these header files on your system, run |
| 'make install'. (On Windows, the instructions are different; see |
| README.windows.) See INSTALL for more details. |
| |
| This code should work on any modern C++ system. It has been tested on |
| Linux (Ubuntu, Fedora, RedHat), Solaris 10 x86, FreeBSD 6.0, OS X 10.3 |
| and 10.4, and Windows under both VC++7 and VC++8. |
| |
| There are a few Windows-specific details; see README.windows for more |
| information. |
| |
| CTEMPLATE AND THREADS |
| --------------------- |
| The ctemplate library has thread support, so it works properly in a |
| threaded environment. For this to work, if you link libraries with |
| -lctemplate you may find you also need to add -pthread (or, on some |
| systems, -pthreads, and on others, -lpthread) to get the library to |
| compile. If you leave out the -pthread, you'll see errors like this: |
| |
| symbol lookup error: /usr/local/lib/libctemplate.so.0: undefined symbol: pthread_rwlock_init |
| |
| If your code isn't multi-threaded, you can instead use the |
| ctemplate_nothread library: |
| -lctemplate_nothreads |
| |
| To summarize, there are two ways to link in ctemlpate in non-threaded |
| applications. For instance: |
| 1) gcc -o my_app my_app.o -lctemplate -pthread |
| 2) gcc -o my_app my_app.o -lctemplate_nothreads |
| |
| If your application uses threads, you should use form (1). |