2016-06-28 79 views
3

我使用升壓版本1.58C++ BOOST_TEST不在範圍內

升壓似乎被正確安裝,和下面的代碼編譯並運行正常(第三支票給了一個錯誤):

#define BOOST_TEST_MODULE basics_test 

#include <boost/test/included/unit_test.hpp> 

BOOST_AUTO_TEST_CASE(basics_test) { 
    BOOST_CHECK(1 == 1); 
    BOOST_CHECK(1 + 2 < 4); 
    BOOST_CHECK(1 == 2); 
} 

然而,當我試圖從網站http://www.boost.org/doc/libs/1_59_0/libs/test/doc/html/boost_test/testing_tools/boost_test_universal_macro.html運行第二個例子中,我得到的錯誤:

test.cpp: In member function ‘void test_op_reportings::test_method()’: 
test.cpp:20:20: error: ‘BOOST_TEST’ was not declared in this scope 
    BOOST_TEST(a == b); 

當我改變BOOST_CHECK,代碼BOOST_TEST的每個實例COM堆並正常運行。我使用的是g ++;當我配置g ++使用C++ 11,如g++ -std=c++11 test cpp -o main,我得到相同的錯誤。

我應該如何解決這個問題?

回答

3

您正在查看的文檔是Boost 1.59,但您使用的是boost 1.58。是什麼讓你覺得BOOST_TEST存在於1.58?

從1.58文檔,我只看到支持BOOST_TEST_MESSAGE和其他替代品。

要麼將​​您的Boost升級到至少1.59,其中文檔顯示您有BOOST_TEST,要麼使用1.58中提供的功能,例如您已經完成的功能。

+0

謝謝,我錯過了文檔版本。 – Checkmate