Giter Site home page Giter Site logo

boost-asio-examples's Issues

Undefined symbols for latest boost/macOS/cmake - Boost 1.81 on macOS Ventura 13.3.1 with cmake 3.26.1

Thanks for the initiatives in the first place. Here is the information for your reference.

  • macOS Ventura 13.3.1
  • Boost Library 1.81
  • cmake 3.26.1

* The Boost library was installed with brew install boost.

In short, the current code has "Undefined symbols" errors for the steps

mkdir build
cd build
cmake ..
make

Details

$ cmake ..

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is AppleClang 14.0.3.14030022
-- The CXX compiler identification is AppleClang 14.0.3.14030022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/local/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found suitable version "1.81.0", minimum required is "1.42.0") found components: system thread regex
-- Configuring done (1.0s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/aa/R/boost-asio-examples/build
$ make

[ 20%] Linking CXX executable test-otpc
Undefined symbols for architecture x86_64:
  "boost::scoped_static_mutex_lock::scoped_static_mutex_lock(boost::static_mutex&, bool)", referenced from:
      boost::object_cache<boost::re_detail_500::cpp_regex_traits_base<char>, boost::re_detail_500::cpp_regex_traits_implementation<char>>::get(boost::re_detail_500::cpp_regex_traits_base<char> const&, unsigned long) in test-otpc-conn.cpp.o
      boost::cpp_regex_traits<char>::get_catalog_name() in test-otpc-conn.cpp.o
      boost::re_detail_500::mem_block_cache::get() in test-otpc-conn.cpp.o
      boost::re_detail_500::mem_block_cache::put(void*) in test-otpc-conn.cpp.o
  "boost::scoped_static_mutex_lock::~scoped_static_mutex_lock()", referenced from:
      boost::object_cache<boost::re_detail_500::cpp_regex_traits_base<char>, boost::re_detail_500::cpp_regex_traits_implementation<char>>::get(boost::re_detail_500::cpp_regex_traits_base<char> const&, unsigned long) in test-otpc-conn.cpp.o
      boost::cpp_regex_traits<char>::get_catalog_name() in test-otpc-conn.cpp.o
      boost::re_detail_500::mem_block_cache::get() in test-otpc-conn.cpp.o
      boost::re_detail_500::mem_block_cache::put(void*) in test-otpc-conn.cpp.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[2]: *** [test-otpc] Error 1
make[1]: *** [CMakeFiles/test-otpc.dir/all] Error 2
make: *** [all] Error 2

Why didn't you use thread_group instead of vector<boost::thread>?

Hello Alex,

You've done a great job by writing these examples! Helped me a lot to learn Boost::Asio concepts.
I have a question. Could you please clarify the use of vector<boost::thread> instead of thread_group?
Using thread_group would be a bit easy and straightforward. Is it your own decision or there is something to it?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.