Bună, băieți, sunt un începător în C++ și tocmai am descoperit că fmt lib este cu adevărat interesantă. Dar am întâmpinat o problemă când am încercat să-l folosesc. Am folosit homebrew pentru a instala fmt lib brew install fmt
.Verific instalarea fmt folosind apt-file search /usr/include/fmt/format.
și apoi s-a întors libfmt-dev: /usr/include/fmt/format.h
.Am încercat să construiesc un exemplu de proiect pentru a-l testa după cum urmează:
#include <fmt/format.h>
int main() {
fmt::print("Răspunsul este {}.\n", 42);
}
După ce am încercat să-l conformez cu gcc11, a revenit
/home/linuxbrew/.linuxbrew/bin/ld: /tmp/ccmrL6RH.o: în funcția `void fmt::v8::print<int>(fmt::v8::basic_format_string<char, fmt::v8:: type_identity<int>::type>, int&&)':
/home/linuxbrew/.linuxbrew/include/fmt/core.h:3209: referință nedefinită la `fmt::v8::vprint(fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt ::v8::basic_format_context<fmt::v8::appender, char> >)'
collect2: eroare: ld a returnat 1 stare de ieșire
Sincer, nu înțeleg care este această problemă... Sintaxa arată bine și nu este nimic în neregulă cu compilatorul și IDE-ul. M-ai putea ajuta? Mulțumesc anticipat.
Actualizați:
@steeldriver mi-a spus că a fost pentru că fmt lib nu a fost conectat. Așa că am adăugat câteva comenzi în tasks.json
fişier:
...
"sarcini": [
...
„args”: [
...
„-lfmt”, „-L~/usr/include/fmt”
]
]
...
/usr/include/fmt
este calea către fmt lib. @steeldriver a recomandat această referință https://stackoverflow.com/questions/49486880/how-to-link-fftw3-libraries-for-c-in-vs-code-in-ubuntu.