Связывание всех библиотек Boost в QT 5.12 Mingw - PullRequest
0 голосов
/ 27 декабря 2018


Iam Learning Boost и тестирование некоторых примеров, поэтому я связываю библиотеки Boost в своем проекте QT с компилятором MinGW, и я хочу связать все библиотеки, чтобы я мог использовать что угодно от файловой системы до ASIO и использовать разные примеры, которыеиспользовать много классов.
это мой .pro-файл, который я связываю с библиотеками boost

INCLUDEPATH += C:/boost_1_66_0

LIBS += -LC:/boost_1_66_0/stage/lib     -llibboost_atomic-mgw63-mt-d-x32-1_66\
        -llibboost_atomic-mgw63-mt-x32-1_66\
        -llibboost_chrono-mgw63-mt-d-x32-1_66\
        -llibboost_chrono-mgw63-mt-x32-1_66\
        -llibboost_container-mgw63-mt-d-x32-1_66\
        -llibboost_container-mgw63-mt-x32-1_66\
        -llibboost_context-mgw63-mt-d-x32-1_66\
        -llibboost_context-mgw63-mt-x32-1_66\
        -llibboost_coroutine-mgw63-mt-d-x32-1_66\
        -llibboost_coroutine-mgw63-mt-x32-1_66\
        -llibboost_date_time-mgw63-mt-d-x32-1_66\
        -llibboost_date_time-mgw63-mt-x32-1_66\
        -llibboost_exception-mgw63-mt-d-x32-1_66\
        -llibboost_exception-mgw63-mt-x32-1_66\
        -llibboost_filesystem-mgw63-mt-d-x32-1_66\
        -llibboost_filesystem-mgw63-mt-x32-1_66\
        -llibboost_graph-mgw63-mt-d-x32-1_66\
        -llibboost_graph-mgw63-mt-x32-1_66\
        -llibboost_iostreams-mgw63-mt-d-x32-1_66\
        -llibboost_iostreams-mgw63-mt-x32-1_66\
        -llibboost_locale-mgw63-mt-d-x32-1_66\
        -llibboost_locale-mgw63-mt-x32-1_66\
        -llibboost_log-mgw63-mt-d-x32-1_66\
        -llibboost_log-mgw63-mt-x32-1_66\
        -llibboost_log_setup-mgw63-mt-d-x32-1_66\
        -llibboost_log_setup-mgw63-mt-x32-1_66\
        -llibboost_math_c99-mgw63-mt-d-x32-1_66\
        -llibboost_math_c99-mgw63-mt-x32-1_66\
        -llibboost_math_c99f-mgw63-mt-d-x32-1_66\
        -llibboost_math_c99f-mgw63-mt-x32-1_66\
        -llibboost_math_c99l-mgw63-mt-d-x32-1_66\
        -llibboost_math_c99l-mgw63-mt-x32-1_66\
        -llibboost_math_tr1-mgw63-mt-d-x32-1_66\
        -llibboost_math_tr1-mgw63-mt-x32-1_66\
        -llibboost_math_tr1f-mgw63-mt-d-x32-1_66\
        -llibboost_math_tr1f-mgw63-mt-x32-1_66\
        -llibboost_math_tr1l-mgw63-mt-d-x32-1_66\
        -llibboost_math_tr1l-mgw63-mt-x32-1_66\
        -llibboost_prg_exec_monitor-mgw63-mt-d-x32-1_66\
        -llibboost_prg_exec_monitor-mgw63-mt-x32-1_66\
        -llibboost_program_options-mgw63-mt-d-x32-1_66\
        -llibboost_program_options-mgw63-mt-x32-1_66\
        -llibboost_random-mgw63-mt-d-x32-1_66\
        -llibboost_random-mgw63-mt-x32-1_66\
        -llibboost_regex-mgw63-mt-d-x32-1_66\
        -llibboost_regex-mgw63-mt-x32-1_66\
        -llibboost_serialization-mgw63-mt-d-x32-1_66\
        -llibboost_serialization-mgw63-mt-x32-1_66\
        -llibboost_signals-mgw63-mt-d-x32-1_66\
        -llibboost_signals-mgw63-mt-x32-1_66\
        -llibboost_stacktrace_basic-mgw63-mt-d-x32-1_66\
        -llibboost_stacktrace_basic-mgw63-mt-x32-1_66\
        -llibboost_stacktrace_noop-mgw63-mt-d-x32-1_66\
        -llibboost_stacktrace_noop-mgw63-mt-x32-1_66\
        -llibboost_system-mgw63-mt-d-x32-1_66\
        -llibboost_system-mgw63-mt-x32-1_66\
        -llibboost_test_exec_monitor-mgw63-mt-d-x32-1_66\
        -llibboost_test_exec_monitor-mgw63-mt-x32-1_66\
        -llibboost_thread-mgw63-mt-d-x32-1_66\
        -llibboost_thread-mgw63-mt-x32-1_66\
        -llibboost_timer-mgw63-mt-d-x32-1_66\
        -llibboost_timer-mgw63-mt-x32-1_66\
        -llibboost_type_erasure-mgw63-mt-d-x32-1_66\
        -llibboost_type_erasure-mgw63-mt-x32-1_66\
        -llibboost_unit_test_framework-mgw63-mt-d-x32-1_66\
        -llibboost_unit_test_framework-mgw63-mt-x32-1_66\
        -llibboost_wave-mgw63-mt-d-x32-1_66\
        -llibboost_wave-mgw63-mt-x32-1_66\
        -llibboost_wserialization-mgw63-mt-d-x32-1_66\
        -llibboost_wserialization-mgw63-mt-x32-1_66\

Я захожу в папку boost lib и добавляю все библиотеки, как указано выше, сейчас я начинаю тестировать некоторыефункции, и я до сих пор получил неопределенную ссылку на некоторые функции, хотя я связал все библиотеки и использую его в режиме выпуска, вот мое основное, в котором я использую архив наддува

#include <fstream>
#include <ios>
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <locale>
#include <codecvt>
#include <cstring>

#include <boost/archive/text_oarchive.hpp>
using namespace boost::archive;

using namespace std;

int main(int argc, char *argv[])
{ 
    ofstream out("D:/a.txt");
    text_oarchive oa(out);

    int a = INT_MAX;
    oa << a;
    out.close();


    return 0;
}

это ошибка Iполучил

release/main.o:main.cpp:(.text.startup+0xf1): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::_exception_code, char const*, char const*)'
release/main.o:main.cpp:(.text$_ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_14object_id_typeE[__ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_14object_id_typeE]+0x69): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::_exception_code, char const*, char const*)'
release/main.o:main.cpp:(.text$_ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_21object_reference_typeE[__ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_21object_reference_typeE]+0x62): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::_exception_code, char const*, char const*)'
release/main.o:main.cpp:(.text$_ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_13class_id_typeE[__ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_13class_id_typeE]+0x63): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::_exception_code, char const*, char const*)'
release/main.o:main.cpp:(.text$_ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_23class_id_reference_typeE[__ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_23class_id_reference_typeE]+0x63): undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::_exception_code, char const*, char const*)'
release/main.o:main.cpp:(.text$_ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_13tracking_typeE[__ZN5boost7archive6detail15common_oarchiveINS0_13text_oarchiveEE5vsaveENS0_13tracking_typeE]+0x63): more undefined references to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::_exception_code, char const*, char const*)' follow
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Release:63: release/Normal2.exe] Error 1
mingw32-make: *** [Makefile:36: release] Error 2
mingw32-make[1]: Leaving directory 'D:/WorkPlace/CppProject/cpp/build-Normal2-Desktop_QT_5_12_0_MinGW_32_bit-Release'
17:41:30: The process "C:\Qt\Qt5.12.0\Tools\mingw730_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project Normal2 (kit: Desktop QT 5.12.0 MinGW 32-bit)
When executing step "Make"
17:41:30: Elapsed time: 00:04.

так что я сделал ошибку, чтобы дать мне эти ошибки, и я уже связал все библиотеки и добавил их в свой проект, я еще не тестировал больше примеров, поэтому я не знаюесли я получу больше ошибок, если я буду использовать разные классы.
Я использую этот сайт, чтобы узнать больше о библиотеке повышения здесь , поэтому я собираюсьЕсли есть примеры для тестирования, и мне нужно связать все библиотеки наддува
Обновление
Это теперь мой .pro-файл, я удалил библиотеку в начале, и я удалил библиотеки отладки и использую только выпуск, вот мой.pro file

LIBS += -LC:/boost_1_66_0/stage/lib     -lboost_atomic-mgw63-mt-x32-1_66\
        -lboost_chrono-mgw63-mt-x32-1_66\
        -lboost_container-mgw63-mt-x32-1_66\
        -lboost_context-mgw63-mt-x32-1_66\
        -lboost_coroutine-mgw63-mt-x32-1_66\
        -lboost_date_time-mgw63-mt-x32-1_66\
        -lboost_exception-mgw63-mt-x32-1_66\
        -lboost_filesystem-mgw63-mt-x32-1_66\
        -lboost_graph-mgw63-mt-x32-1_66\
        -lboost_iostreams-mgw63-mt-x32-1_66\
        -lboost_locale-mgw63-mt-x32-1_66\
        -lboost_log-mgw63-mt-x32-1_66\
        -lboost_log_setup-mgw63-mt-x32-1_66\
        -lboost_math_c99-mgw63-mt-x32-1_66\
        -lboost_math_c99f-mgw63-mt-x32-1_66\
        -lboost_math_c99l-mgw63-mt-x32-1_66\
        -lboost_math_tr1-mgw63-mt-x32-1_66\
        -lboost_math_tr1f-mgw63-mt-x32-1_66\
        -lboost_math_tr1l-mgw63-mt-x32-1_66\
        -lboost_prg_exec_monitor-mgw63-mt-x32-1_66\
        -lboost_program_options-mgw63-mt-x32-1_66\
        -lboost_random-mgw63-mt-x32-1_66\
        -lboost_regex-mgw63-mt-x32-1_66\
        -lboost_serialization-mgw63-mt-x32-1_66\
        -lboost_signals-mgw63-mt-x32-1_66\
        -lboost_stacktrace_basic-mgw63-mt-x32-1_66\
        -lboost_stacktrace_noop-mgw63-mt-x32-1_66\
        -lboost_system-mgw63-mt-x32-1_66\
        -lboost_test_exec_monitor-mgw63-mt-x32-1_66\
        -lboost_thread-mgw63-mt-x32-1_66\
        -lboost_timer-mgw63-mt-x32-1_66\
        -lboost_type_erasure-mgw63-mt-x32-1_66\
        -lboost_unit_test_framework-mgw63-mt-x32-1_66\
        -lboost_wave-mgw63-mt-x32-1_66\
        -lboost_wserialization-mgw63-mt-x32-1_66\

, но все равно та же проблема, если порядок имеет значение, в каком порядке мне нужно, чтобы этот пример работал ?, также, если есть способ добавить их все сразу с помощьюВ правильном порядке будет лучше.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...