| NDN-CPP: A Named Data Networking client library for C++ and C |
| ------------------------------------------------------------- |
| |
| Prerequisites |
| ------------- |
| (These are prerequisites to build NDN-CPP. To do development of NDN-CPP code and update the build system, |
| see Development Prerequisites.) |
| |
| Required: |
| |
| * libcrypto |
| * libsqlite3 |
| * libcrypto++ |
| |
| Optional: |
| |
| * boost libraries (highly recommended) |
| * OSX Security framework (for key storage) |
| |
| Following are the detailed steps for each platform to install the prerequisites. |
| |
| * Mac OS X 10.7.3, Mac OS X 10.8.4 |
| Install Xcode. |
| In Xcode Preferences > Downloads, install "Command Line Tools". |
| |
| * Mac OS X 10.9 |
| Install Xcode. (Xcode on OS X 10.9 seems to already have the Command Line Tools.) |
| |
| If using macports, dependencies can be installed using the following commands: |
| |
| sudo port install boost sqlite3 libcryptopp |
| |
| * Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit) |
| In a terminal, enter: |
| |
| sudo apt-get install build-essential |
| sudo apt-get install libboost-all-dev libssl-dev libsqlite3-dev libcrypto++-dev |
| |
| * Windows Cygwin |
| Cygwin is tested on Windows 7 64-bit with the "Devel" packages selected to install at the top level of the |
| cygwin installer. This includes libcrypto and libsqlite3. |
| |
| Build |
| ----- |
| (These are instructions to build NDN-CPP. To do development of NDN-CPP code and update the build system, see Development.) |
| |
| To build in a terminal, change directory to the NDN-CPP root. Enter: |
| |
| ./configure |
| make |
| make install |
| |
| To make documentation, enter: |
| |
| make doxygen-doc |
| |
| Files |
| ----- |
| |
| This makes the following libraries: |
| |
| .libs/libndn-c.a: The core C code for encoding and communication. |
| .libs/libndn-cpp.a: The C++ library API. (If linking to libndn-cpp, don't link to libndn-c since it is included.) |
| |
| This makes the following test files: |
| |
| bin/test-get-async: Connect to one of the NDN testbed hubs, express an interest and display the received data. |
| bin/test-publish-async: Connect to the local NDN hub, accept interests with prefix /testecho and echo back a data packet. |
| bin/test-encode-decode-interest: Encode and decode an interest, testing interest selectors and the name URI. |
| bin/test-encode-decode-data: Encode and decode a data packet, including signing the data packet. |
| bin/test-encode-decode-forwarding-entry: Encode and decode a data packet, including signing the data packet. |
| |
| Running make doxygen-doc puts code documentation in: |
| doc/html |
| |
| Supported platforms |
| ------------------- |
| |
| NDN-CPP is tested on the following platforms: |
| Ubuntu 12.04 (64 bit and 32 bit) (gcc 4.6.3) |
| Ubuntu 13.04 (64 bit) (gcc 4.7.3) |
| Mac OS X 10.8.4 (clang 4.2) |
| Mac OS X 10.8.4 (gcc 4.2) |
| |
| Development Prerequisites |
| ------------------------- |
| These steps are only needed to do development of NDN-CPP code and update the build system. |
| First follow the Prerequisites above for your platforms. |
| |
| * Mac OS X 10.7.3, Mac OS X 10.8.4, Mac OS X 10.9 |
| Install MacPorts from http://www.macports.org/install.php |
| In a terminal, enter: |
| sudo port install automake |
| sudo port install autoconf |
| sudo port install libtool |
| sudo port install doxygen |
| |
| * Ubuntu 12.04 (64 bit and 32 bit), Ubuntu 13.04 (64 bit) |
| In a terminal, enter: |
| sudo apt-get install automake |
| sudo apt-get install libtool |
| sudo apt-get install doxygen |
| |
| Development |
| ----------- |
| Follow Development Prerequisites above for your platform. |
| Now you can add source code files and update Makefile.am. |
| After updating, change directory to the NDN-CPP root and enter the following to build the Makefile: |
| ./autogen.sh |