UTF: test/included/unit_test.hpp vs test/unit_test.hpp
Hi,
I am using the UTF in my code. Below is the key component of my code that I have been using on Mac for a few years with boost installed from macports.
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE MAST_TESTS
#include
On 4/05/2017 15:14, Manav Bhatia via Boost-users wrote:
A few days ago I started using this code on Ubuntu and kept getting segmentation faults with random values being returned for boost::unit_test::framework::master_test_suite().argc
I managed to get rid of this problem by changing the included header to #include
I have seen the description here: http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/utf/compilation/dire.... However, I am not quite able to follow why this problem occurred on Ubuntu (with system boost library) when I was still linking against the precompiled library (version 1.58).
Generally those sorts of problems occur when you use a different version of the headers than the prebuilt libraries. Check your include and lib paths at build time to see whether it's finding a different version than you're expecting (eg. finding a local Boost instead of system Boost, or vice versa). You can also run ldd on the executable to see which version of the Boost shared libraries it's trying to load at runtime and whether this is the one you expect or not.
Le 08.05.17 à 04:25, Gavin Lambert via Boost-users a écrit :
On 4/05/2017 15:14, Manav Bhatia via Boost-users wrote:
A few days ago I started using this code on Ubuntu and kept getting segmentation faults with random values being returned for boost::unit_test::framework::master_test_suite().argc
I managed to get rid of this problem by changing the included header to #include
I have seen the description here: http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/utf/compilation/dire....
However, I am not quite able to follow why this problem occurred on Ubuntu (with system boost library) when I was still linking against the precompiled library (version 1.58).
Generally those sorts of problems occur when you use a different version of the headers than the prebuilt libraries. Check your include and lib paths at build time to see whether it's finding a different version than you're expecting (eg. finding a local Boost instead of system Boost, or vice versa).
You can also run ldd on the executable to see which version of the Boost shared libraries it's trying to load at runtime and whether this is the one you expect or not.
Hi, I second that answer :) The way you solved it is factually incorrect as you are including the header only UTF files and you declare the dynamic linking variant. Have a look at the command line generated for your compiler and your linker, you might be linking to the static version while declaring the dynamic version with the macro. Best, Raffi
participants (3)
-
Gavin Lambert
-
Manav Bhatia
-
Raffi Enficiaud