Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Boost in doesn't work. Why?

Boost in doesn't work. Why?

Scheduled Pinned Locked Moved Unsolved General and Desktop
5 Posts 3 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bogong
    wrote on last edited by bogong
    #1

    Hello all!

    I am trying to run simple Boost example:

    // System includes
    #include <iostream>
    #include <boost/locale.hpp>
    #include <boost/log/trivial.hpp>
    #include <cassert>
    #include <ctime>
    
    // Application includes
    
    // Namespace
    using namespace std;
    using namespace boost::log;
    
    int main(int inCounter, char *inArguments[]) {
    
    	BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
    	BOOST_LOG_TRIVIAL(debug) << "A debug severity message";
    	BOOST_LOG_TRIVIAL(info) << "An informational severity message";
    	BOOST_LOG_TRIVIAL(warning) << "A warning severity message";
    	BOOST_LOG_TRIVIAL(error) << "An error severity message";
    	BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";
    
    	cout << "Hello World!" << endl;
    
    	return 0;
    }
    

    But at time of compilation I see this:

    Undefined symbols for architecture x86_64:
      "boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)", referenced from:
          boost::log::v2s_mt_posix::record::reset() in main.o
      "boost::log::v2s_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2s_mt_posix::aux::stream_provider<char>::stream_compound*)", referenced from:
          boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::auto_release::~auto_release() in main.o
      "boost::log::v2s_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2s_mt_posix::record&)", referenced from:
          boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&) in main.o
      "boost::log::v2s_mt_posix::aux::unhandled_exception_count()", referenced from:
          boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::record_pump(boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>&, boost::log::v2s_mt_posix::record&) in main.o
          boost::log::v2s_mt_posix::aux::record_pump<boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level> >::~record_pump() in main.o
      "boost::log::v2s_mt_posix::core::open_record(boost::log::v2s_mt_posix::attribute_set const&)", referenced from:
          boost::log::v2s_mt_posix::record boost::log::v2s_mt_posix::sources::basic_logger<char, boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>, boost::log::v2s_mt_posix::sources::multi_thread_model<boost::log::v2s_mt_posix::aux::light_rw_mutex> >::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> const&) in main.o
      "boost::log::v2s_mt_posix::core::push_record_move(boost::log::v2s_mt_posix::record&)", referenced from:
          boost::log::v2s_mt_posix::sources::basic_logger<char, boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>, boost::log::v2s_mt_posix::sources::multi_thread_model<boost::log::v2s_mt_posix::aux::light_rw_mutex> >::push_record_unlocked(boost::log::v2s_mt_posix::record&&) in main.o
      "boost::log::v2s_mt_posix::sources::aux::get_severity_level()", referenced from:
          boost::log::v2s_mt_posix::sources::aux::severity_level<boost::log::v2s_mt_posix::trivial::severity_level>::set_value(boost::log::v2s_mt_posix::trivial::severity_level) in main.o
      "boost::log::v2s_mt_posix::trivial::logger::get()", referenced from:
          _main in main.o
      "boost::log::v2s_mt_posix::core::get_logging_enabled() const", referenced from:
          boost::log::v2s_mt_posix::record boost::log::v2s_mt_posix::sources::basic_composite_logger<char, boost::log::v2s_mt_posix::sources::severity_logger_mt<boost::log::v2s_mt_posix::trivial::severity_level>, boost::log::v2s_mt_posix::sources::multi_thread_model<boost::log::v2s_mt_posix::aux::light_rw_mutex>, boost::log::v2s_mt_posix::sources::features<boost::log::v2s_mt_posix::sources::severity<boost::log::v2s_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::severity, boost::log::v2s_mt_posix::trivial::severity_level const> const&) in main.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [Boost_v1] Error 1
    16:14:46: The process "/usr/bin/make" exited with code 2.
    Error while building/deploying project Boost_v1 (kit: Desktop Qt 5.15.2 clang 64bit)
    When executing step "Make"
    

    In *.pro file:

    INCLUDEPATH += $$PREBUILD_DIR/Boost/macos/include
    LIBS += -L$$PREBUILD_DIR/Boost/macos/lib \
    		-lboost_atomic \
    		-lboost_chrono \
    		-lboost_date_time \
    		-lboost_filesystem \
    		-lboost_iostreams \
    		-lboost_log \
    		-lboost_program_options \
    		-lboost_regex \
    		-lboost_system \
    		-lboost_thread
    

    In editor no any errors. Include directory working perfectly. All headers available.

    Screenshot 2020-12-26 at 16.18.25.png

    What am I missing?

    1 Reply Last reply
    0
    • Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #2

      I would guess your boost libs are for the wrong architecture. But what has this to do with Qt?

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      B 2 Replies Last reply
      1
      • Christian EhrlicherC Christian Ehrlicher

        I would guess your boost libs are for the wrong architecture. But what has this to do with Qt?

        B Offline
        B Offline
        bogong
        wrote on last edited by bogong
        #3

        @Christian-Ehrlicher I am trying to implement Boost in my Qt application. For now just trying to write tests/examples for researching purpose. The same result when I am trying to implement it into Qt Quick Application.

        1 Reply Last reply
        0
        • Christian EhrlicherC Christian Ehrlicher

          I would guess your boost libs are for the wrong architecture. But what has this to do with Qt?

          B Offline
          B Offline
          bogong
          wrote on last edited by bogong
          #4

          @Christian-Ehrlicher Just tested architecture - all is OK. At least via lipo:

          $ lipo -info libboost_locale.a
          Non-fat file: libboost_locale.a is architecture: x86_64
          $ lipo -info libboost_log.a
          Non-fat file: libboost_log.a is architecture: x86_64
          
          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Hi,

            Did you check whether you are linking all the logging related boost libraries ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved