Nieprawidlowa kompilacja pliku z użyciem Boost

0

Cześć, tworzę program (roboczo nazwijmy go 'abc') z wykorzystaniem szablonów. Problem dotyczy kompilacji pliku testującego, który wykorzystuje Boost. Chodzi o to, że nie rozpoznaje on pliku abc.h (kompilator opisuje to jako 'error C1083').

Co istotne, w pliku main.cpp plik nagłówkowy jest rozpoznawany. Pewnym rozwiązaniem było dodanie lokalizacji pliku abc.h do sekcji Library Directories w VC++ Directories w ustawieniach (korzystam z MVS 2013). W takim wypadku pojawiają się z kolei błędy linkowania (mam pewność że plik testujący jest napisany prawidłowo). Ma ktoś pomysł, w jaki sposób naprawić ww. błąd?

0

Fajnie by było mieć pełne logi z tej kompilacji. Dopóki nie ma, to:
https://msdn.microsoft.com/pl-pl/library/et4zwx34.aspx

0

Kwestię pliku nagłówkowego udało się rozwiązać, jednak tym razem pojawiają się błędy linkowania. Poniżej zamieszczam kilka logów wyświetlanych podczas kompilacji:

1>test1.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::test_start(unsigned long)" (?test_start@unit_test_log_t@unit_test@boost@@UAEXK@Z)

1>test2.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::auto_test_unit_registrar(int)" (??0auto_test_unit_registrar@ut_detail@unit_test@boost@@QAE@H@Z) referenced in function "void __cdecl test2::`dynamic initializer for 'end_suite722_registrar722''(void)" (??__Eend_suite722_registrar722@test2@@YAXXZ)

1>test_main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class boost::master_test_suite_t & __cdecl boost::master_test_suite(void)" (_imp?master_test_suite@framework@unit_test@boost@@YAAAVmaster_test_suite_t@23@XZ) referenced in function "bool __cdecl init_unit_test(void)" (?init_unit_test@@YA_NXZ

1>test1.obj : error LNK2001: unresolved external symbol "bool __cdecl boost::check_impl(class boost::predicate_result const &,class boost::lazy_ostream const &,class boost::basic_cstring<char const="const">,unsigned int,enum boost::tool_level,enum boost::check_type,unsigned int,...)" (?check_impl@tt_detail@test_tools@boost@@YA_NABVpredicate_result@23@ABVlazy_ostream@unit_test@3@V?$basic_cstring@$$CBD@63@IW4tool_level@123@W4check_type@123@IZZ)

Nie mam pojęcia, jak sobie z nimi poradzić. Będę wdzięczny z jakąkolwiek pomoc

0

Brak libki. Ścieżka do plików .lib musi być podana w opcjach projektu.

W przypadku Boosta nie trzeba dodawać samej biblioteki do opcji linkera. Jeśli biblioteka się znajdzie, zostanie wciągnięta automatycznie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1