安装了boost,但在/ usr / local / lib /中找不到libboost_unit_test_framework.a

时间:2015-03-19 16:25:57

标签: macos unit-testing boost shared-libraries boost-test

我在其官方网站上安装了整个提升,提升1.57.0 现在,我只需要升级测试库,我从github https://github.com/jsankey/boost.test-examples下载了一个例子 在它的makefile中,我删除了其他目标,现在只尝试hello.cpp。 makefile就像:

TARGETS=hello 

all: $(TARGETS)

test: $(TARGETS) $(addprefix run-,$(TARGETS))

%: %.cpp
    $(CXX) -o$@ $^ -lboost_unit_test_framework

run-%: %
    -./$^ --output_format=XML --log_level=test_suite > $(^)-report.xml

clean:
    rm $(TARGETS) *-report.xml

boost测试文件hello.cpp是:

#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE Hello
#include <boost/test/unit_test.hpp>

int add(int i, int j)
{
    return i + j;
}

BOOST_AUTO_TEST_CASE(universeInOrder)
{
    BOOST_CHECK(add(2, 2) == 5);
}

然后我下载并安装了boost 1.57.0然后使用了命令

sudo tar -C /usr/local -xjvf ~/Downloads/boost_1_57_0.tar.bz2

然后我cd到目录,并参考这篇文章,/usr/bin/ld: error: cannot find -lboost_unit_test_framework 我使用bash来运行export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH 然后尝试g++ -ohello /usr/local/lib/libboost_unit_test_framework.a hello.cpp 但它抱怨没有找到libboost_unit_test_framework.a。 更改但在/ usr / local / lib /中找不到libboost_unit_test_framework.a。我试图搜索&#34; boost_unit&#34;并且在Mac上没有这个文件。

那么,下载文件夹中的升级测试库是不是?我看到include头文件在... / boost_1_57_0 / boost / test / ...那么,什么是错的,我怎么能编译并运行基本的hello测试?谢谢。

我认为这是因为我没有运行脚本...... ./bootstrap.sh ./b2 ./b2安装

那个.a文件出来了。但是,我仍然无法运行它。有人可以帮忙吗? ...

1 个答案:

答案 0 :(得分:0)

最好使用包管理软件来执行此操作。我强烈推荐homebrew

您可以使用一个命令安装boost。 brew install boost