mirror of
https://github.com/boostorg/dll.git
synced 2026-02-18 14:02:16 +00:00
acd09ca617c5552d850b70bb887109fd6cd10af8
Boost Dynamic Library Load (Boost.DLL)
Library for comfortable work with DLL and DSO.
Docs
Hello World (importing a "C" function)
#include <boost/dll.hpp>
...
auto cpp11_func = dll::import_alias<std::string(int)>(
path_to_shared_library, "cpp11_function_alias_name"
);
std::string s = cpp11_func(0);
boost::function<int(int)> c_func = boost::dll::import<int(int)>(
path_to_shared_library, "c_func_name"
);
int i = c_func(1);
Installation
-
Boost 1.56 and later:
- enter the Boost root directory:
cd ~/boost_1_56_0/ - go to
libs/folder:cd libs - clone Boost.DLL repository:
git clone https://github.com/apolukhin/Boost.DLL dll - enter the
dll/testfolder and run./b2:cd dll/test; ../../../b2
- enter the Boost root directory:
-
Boost 1.53 - Boost 1.55:
- enter the Boost root directory:
cd ~/boost_1_53_0/ - go to
libs/folder:cd libs - clone Boost.DLL repository:
git clone https://github.com/apolukhin/Boost.DLL dll - clone the Boost.Predef repository:
git clone https://github.com/boostorg/predef - copy headers from
dll/include/boostandpredef/include/boostto the boost folder with headers:cp -rf dll/include/boost/* ~/boost_1_53_0/boost/; cp -rf predef/include/boost/* ~/boost_1_53_0/boost/;
- enter the Boost root directory:
Platforms tested
Library was tested on Windows (MinGW and MSVC compilers) and Linux(GCC and CLANG compilers). MacOS is upcoming.
Caution
This is not an official Boost C++ library. It wasn't reviewed and can't be downloaded from www.boost.org. This beta is available to boost community to know real interest and get comments for refinement. The intention is to submit library to formal review, if community think that it is interesting!
About
This library was derived from the Boost.Application library.
Test results
| @ | Build | Tests coverage |
|---|---|---|
| Develop branch: | ![]() |
|
| Master branch: | ![]() |
License
Distributed under the Boost Software License, Version 1.0.
Description
Languages
C++
99.1%
CMake
0.7%
HTML
0.2%

