Closed
Description
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
Labels
No labels