Project

General

Profile

Actions

Task #2243

closed

Allow building of shared library

Added by Alex Afanasyev almost 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Category:
Build
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

Right now ndn-cxx is compiled as a static library. This was done in attempt to reduce problems when library ABI changes (which is basically any time there is any change to header files). Right now, the library is relatively stable, so it is beneficial to compile the library as dynamic one.

We still need to keep compilation as a static library, at least as an option. This is needed on some platforms, for example on Android.


One subtle issue with static compilation affects ndnSIM effort. With static library, each linked unit (another shared lib, an app) has its own copy of the variables that controls selection of the custom clocks. As a result, setCustomClocks method called inside the scenario (an app) has different effect from calling the same method inside the helper class (part of ndnSIM shared lib).


Related issues 2 (1 open1 closed)

Related to ndn-cxx - Bug #2853: Global variable in static library causes double free or corruption errorRejected06/05/2015

Actions
Blocks ndn-cxx - Feature #2859: Explicitly export public symbolsNew

Actions
Actions

Also available in: Atom PDF