Skip to content

Unable to link #3

Closed
Closed
@kershnerd

Description

@kershnerd

I am on a mac and having trouble compiling. I needed to implement @lsarkisov PR (#1) and I was able to compile.

Now I am having a linker error and I have no idea what this means:

/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake --build /Users/jeff/projects/personal/cpp_weekly_game_project/cmake-build-debug --target game -- -j 6
[ 50%] Linking CXX executable ../bin/game
Undefined symbols for architecture x86_64:
  "fmt::v6::internal::basic_data<void>::signs", referenced from:
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<float, 0>(float, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::nonfinite_writer<char>::operator()<char*>(char*&&) const in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::nonfinite_writer<char>::operator()<char*&>(char*&) const in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::float_writer<char>::operator()<char*>(char*&&) in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::float_writer<char>::operator()<char*&>(char*&) in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<double, 0>(double, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<long double, 0>(long double, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
      ...
  "fmt::v6::internal::assert_fail(char const*, int, char const*)", referenced from:
      fmt::v6::basic_memory_buffer<char, 250ul, std::__1::allocator<char> >::operator=(fmt::v6::basic_memory_buffer<char, 250ul, std::__1::allocator<char> >&&) in libspdlogd.a(spdlog.cpp.o)
      std::__1::make_unsigned<long>::type fmt::v6::internal::to_unsigned<long>(long) in libspdlogd.a(spdlog.cpp.o)
      char const* fmt::v6::internal::parse_arg_id<char, fmt::v6::internal::id_adapter<fmt::v6::format_handler<fmt::v6::arg_formatter<fmt::v6::buffer_range<char> >, char, fmt::v6::basic_format_context<std::__1::back_insert_iterator<fmt::v6::internal::buffer<char> >, char> >&, char> >(char const*, char const*, fmt::v6::internal::id_adapter<fmt::v6::format_handler<fmt::v6::arg_formatter<fmt::v6::buffer_range<char> >, char, fmt::v6::basic_format_context<std::__1::back_insert_iterator<fmt::v6::internal::buffer<char> >, char> >&, char>&&) in libspdlogd.a(spdlog.cpp.o)
      decltype(fp(0)) fmt::v6::visit_format_arg<fmt::v6::arg_formatter<fmt::v6::buffer_range<char> >, fmt::v6::basic_format_context<std::__1::back_insert_iterator<fmt::v6::internal::buffer<char> >, char> >(fmt::v6::arg_formatter<fmt::v6::buffer_range<char> >&&, fmt::v6::basic_format_arg<fmt::v6::basic_format_context<std::__1::back_insert_iterator<fmt::v6::internal::buffer<char> >, char> > const&) in libspdlogd.a(spdlog.cpp.o)
      fmt::v6::internal::arg_formatter_base<fmt::v6::buffer_range<char>, fmt::v6::internal::error_handler>::operator()(fmt::v6::monostate) in libspdlogd.a(spdlog.cpp.o)
      std::__1::make_unsigned<int>::type fmt::v6::internal::to_unsigned<int>(int) in libspdlogd.a(spdlog.cpp.o)
      unsigned int fmt::v6::internal::format_decimal<char, unsigned int, char*, char* fmt::v6::internal::format_decimal<char, char*, unsigned int>(char*, unsigned int, int)::'lambda'(char*)>(unsigned int, char*, int, char* fmt::v6::internal::format_decimal<char, char*, unsigned int>(char*, unsigned int, int)::'lambda'(char*)) in libspdlogd.a(spdlog.cpp.o)
      ...
  "int fmt::v6::internal::format_float<double>(double, int, fmt::v6::internal::float_specs, fmt::v6::internal::buffer<char>&)", referenced from:
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<float, 0>(float, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<double, 0>(double, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
  "int fmt::v6::internal::format_float<long double>(long double, int, fmt::v6::internal::float_specs, fmt::v6::internal::buffer<char>&)", referenced from:
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<long double, 0>(long double, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > fmt::v6::internal::grouping_impl<char>(fmt::v6::internal::locale_ref)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > fmt::v6::internal::grouping<char>(fmt::v6::internal::locale_ref) in libspdlogd.a(spdlog.cpp.o)
  "int fmt::v6::internal::snprintf_float<double>(double, int, fmt::v6::internal::float_specs, fmt::v6::internal::buffer<char>&)", referenced from:
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<float, 0>(float, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<double, 0>(double, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.cpp.o)
  "int fmt::v6::internal::snprintf_float<long double>(long double, int, fmt::v6::internal::float_specs, fmt::v6::internal::buffer<char>&)", referenced from:
      void fmt::v6::internal::basic_writer<fmt::v6::buffer_range<char> >::write<long double, 0>(long double, fmt::v6::basic_format_specs<char>) in libspdlogd.a(spdlog.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[3]: *** [bin/game] Error 1
make[2]: *** [src/CMakeFiles/game.dir/all] Error 2
make[1]: *** [src/CMakeFiles/game.dir/rule] Error 2
make: *** [game] Error 2

Any ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions