Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

boost problem z linkerem

Ostatnio zmodyfikowano 2016-05-14 10:33
Autor Wiadomość
pozdro600
Temat założony przez niniejszego użytkownika
boost problem z linkerem
» 2016-05-13 20:37:26
Próbowałem zrobić testy jednostkowe z kursu:
http://cpp0x.pl/artykuly/?id=67

Co zrobiłem:
- ściągnąłem boosta ze strony,
- rozpakowałem do katalogu na D:
- ściągnąłem biblioteki stąd: http://cpp0x.pl/forum/temat/​?id=22705
- w Code::Blocks dołożyłem dla pewności wszystkie do Seting -> Compiler -> Linker Setings -> Link libraries
- Otworzyłem nowy projekt, skopiowałem kod:

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

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

BOOST_AUTO_TEST_CASE( testDodaj )
{
    BOOST_CHECK( dodaj( 2, 2 ) == 4 );
}
I niestety dalej nie może tego poprawnie skompilować, mam błędy w build messages i nie potrafię sobie z nimi poradzić:

obj\Debug\main.o||In function `Z14init_unit_testv':|
||=== Build: Debug in boost (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `Z14init_unit_testv':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\unit_test_suite.hpp|346|undefined reference to `_imp___ZN5boost9unit_test9framework17master_test_suiteEv'|
obj\Debug\main.o||In function `main':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\unit_test.hpp|63|undefined reference to `_imp___ZN5boost9unit_test14unit_test_mainEPFbvEiPPc'|
obj\Debug\main.o||In function `testDodaj_invoker':|
C:\Users\Lukasz\Desktop\notatki_cpp\code\srednie\boost\main.cpp|10|undefined reference to `_imp___ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_'|
C:\Users\Lukasz\Desktop\notatki_cpp\code\srednie\boost\main.cpp|10|undefined reference to `_imp___ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_'|
C:\Users\Lukasz\Desktop\notatki_cpp\code\srednie\boost\main.cpp|10|undefined reference to `_imp___ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_'|
obj\Debug\main.o||In function `ZN9testDodaj11test_methodEv':|
C:\Users\Lukasz\Desktop\notatki_cpp\code\srednie\boost\main.cpp|12|undefined reference to `_imp___ZN5boost9unit_test15unit_test_log_t14set_checkpointENS0_13basic_cstringIKcEEjS4_'|
C:\Users\Lukasz\Desktop\notatki_cpp\code\srednie\boost\main.cpp|12|undefined reference to `_imp___ZN5boost10test_tools9tt_detail16report_assertionERKNS0_16assertion_resultERKNS_9unit_test12lazy_ostreamENS5_13basic_cstringIKcEEjNS1_10tool_levelENS1_10check_typeEjz'|
obj\Debug\main.o||In function `_static_initialization_and_destruction_0':|
C:\Users\Lukasz\Desktop\notatki_cpp\code\srednie\boost\main.cpp|10|undefined reference to `_imp___ZN5boost9unit_test9ut_detail24auto_test_unit_registrarC1EPNS0_9test_caseERNS0_9decorator9collectorEm'|
obj\Debug\main.o||In function `ZN5boost9unit_test13test_observerD2Ev':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\tree\observer.hpp|61|undefined reference to `_imp___ZTVN5boost9unit_test13test_observerE'|
obj\Debug\main.o||In function `ZN5boost9unit_test13test_observerD1Ev':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\tree\observer.hpp|61|undefined reference to `_imp___ZTVN5boost9unit_test13test_observerE'|
obj\Debug\main.o||In function `ZN5boost9unit_test13test_observerC2Ev':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\tree\observer.hpp|31|undefined reference to `_imp___ZTVN5boost9unit_test13test_observerE'|
obj\Debug\main.o||In function `ZN5boost9unit_test15unit_test_log_tC1Ev':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\unit_test_log.hpp|127|undefined reference to `_imp___ZTVN5boost9unit_test15unit_test_log_tE'|
obj\Debug\main.o||In function `ZN5boost9unit_test14make_test_caseERKNS_8functionIFvvEEENS0_13basic_cstringIKcEES8_j':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\tree\test_unit.hpp|249|undefined reference to `_imp___ZN5boost9unit_test9ut_detail24normalize_test_case_nameENS0_13basic_cstringIKcEE'|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\tree\test_unit.hpp|249|undefined reference to `_imp___ZN5boost9unit_test9test_caseC1ENS0_13basic_cstringIKcEES4_jRKNS_8functionIFvvEEE'|
obj\Debug\main.o||In function `ZN5boost9unit_test15unit_test_log_tD1Ev':|
d:\prywatne\cplusplus\boost_1_61_0\boost\test\unit_test_log.hpp|88|undefined reference to `_imp___ZTVN5boost9unit_test15unit_test_log_tE'|
||=== Build failed: 15 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|


W ściągniętym pliku były biblioteki:
libboost_wserialization-mgw49-mt-d-1_60.a
libboost_wserialization-mgw49-mt-1_60.a
libboost_wave-mgw49-mt-d-1_60.a
libboost_wave-mgw49-mt-1_60.a
libboost_unit_test_framework-mgw49-mt-d-1_60.a
libboost_unit_test_framework-mgw49-mt-1_60.a
libboost_type_erasure-mgw49-mt-d-1_60.a
libboost_type_erasure-mgw49-mt-1_60.a
libboost_timer-mgw49-mt-d-1_60.a
libboost_timer-mgw49-mt-1_60.a
libboost_thread-mgw49-mt-d-1_60.a
libboost_thread-mgw49-mt-1_60.a
libboost_test_exec_monitor-mgw49-mt-d-1_60.a
libboost_test_exec_monitor-mgw49-mt-1_60.a
libboost_system-mgw49-mt-d-1_60.a
libboost_system-mgw49-mt-1_60.a
libboost_signals-mgw49-mt-d-1_60.a
libboost_signals-mgw49-mt-1_60.a
libboost_serialization-mgw49-mt-d-1_60.a
libboost_serialization-mgw49-mt-1_60.a
libboost_regex-mgw49-mt-d-1_60.a
libboost_regex-mgw49-mt-1_60.a
libboost_random-mgw49-mt-d-1_60.a
libboost_random-mgw49-mt-1_60.a
libboost_program_options-mgw49-mt-d-1_60.a
libboost_program_options-mgw49-mt-1_60.a
libboost_prg_exec_monitor-mgw49-mt-d-1_60.a
libboost_prg_exec_monitor-mgw49-mt-1_60.a
libboost_math_tr1-mgw49-mt-d-1_60.a
libboost_math_tr1-mgw49-mt-1_60.a
libboost_math_tr1l-mgw49-mt-d-1_60.a
libboost_math_tr1l-mgw49-mt-1_60.a
libboost_math_tr1f-mgw49-mt-d-1_60.a
libboost_math_tr1f-mgw49-mt-1_60.a
libboost_math_c99-mgw49-mt-d-1_60.a
libboost_math_c99-mgw49-mt-1_60.a
libboost_math_c99l-mgw49-mt-d-1_60.a
libboost_math_c99l-mgw49-mt-1_60.a
libboost_math_c99f-mgw49-mt-d-1_60.a
libboost_math_c99f-mgw49-mt-1_60.a
libboost_log-mgw49-mt-d-1_60.a
libboost_log-mgw49-mt-1_60.a
libboost_log_setup-mgw49-mt-d-1_60.a
libboost_log_setup-mgw49-mt-1_60.a
libboost_locale-mgw49-mt-d-1_60.a
libboost_locale-mgw49-mt-1_60.a
libboost_iostreams-mgw49-mt-d-1_60.a
libboost_iostreams-mgw49-mt-1_60.a
libboost_graph-mgw49-mt-d-1_60.a
libboost_graph-mgw49-mt-1_60.a
libboost_filesystem-mgw49-mt-d-1_60.a
libboost_filesystem-mgw49-mt-1_60.a
libboost_exception-mgw49-mt-d-1_60.a
libboost_exception-mgw49-mt-1_60.a
libboost_date_time-mgw49-mt-d-1_60.a
libboost_date_time-mgw49-mt-1_60.a
libboost_coroutine-mgw49-mt-d-1_60.a
libboost_coroutine-mgw49-mt-1_60.a
libboost_context-mgw49-mt-d-1_60.a
libboost_context-mgw49-mt-1_60.a
libboost_container-mgw49-mt-d-1_60.a
libboost_container-mgw49-mt-1_60.a
libboost_chrono-mgw49-mt-d-1_60.a
libboost_chrono-mgw49-mt-1_60.a
libboost_atomic-mgw49-mt-d-1_60.a
libboost_atomic-mgw49-mt-1_60.a
P-148175
j23
» 2016-05-14 10:33:08
dołożyłem dla pewności wszystkie do (...)
Nie no, przesadziłeś. Dodaj tylko te biblioteki, które są potrzebne. W opisie masz napisane, którą bibliotekę musisz dodać - libboost_unit_test_framework-mgw49-mt-1_60.a lub libboost_unit_test_framework-mgw49-mt-d-1_60.a dla wersji DEBUG.

Ważne jest też, żebyś użył tej samej wersji kompilatora.

P-148181
« 1 »
  Strona 1 z 1