Xin chào các bạn, tôi là người mới bắt đầu học C++ và tôi thấy rằng thư viện fmt thực sự thú vị. Nhưng tôi đã gặp sự cố khi cố gắng sử dụng nó. Tôi đã sử dụng homebrew để cài đặt fmt lib brew cài đặt fmt
.Tôi kiểm tra cài đặt fmt bằng cách sử dụng tìm kiếm tệp apt /usr/include/fmt/format.
và sau đó nó trở lại libfmt-dev: /usr/include/fmt/format.h
.Mình đã thử build 1 project mẫu để test như sau:
#include <fmt/format.h>
int main() {
fmt::print("Đáp án là {}.\n", 42);
}
Sau khi tôi cố gắng tuân thủ nó với gcc11, nó đã quay trở lại
/home/linuxbrew/.linuxbrew/bin/ld: /tmp/ccmrL6RH.o: trong hàm `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: tham chiếu không xác định đến `fmt::v8::vprint(fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt ::v8::basic_format_context<fmt::v8::appender, char> >)'
coll2: lỗi: ld trả về 1 trạng thái thoát
Thành thật mà nói, tôi không hiểu vấn đề này là gì... Cú pháp có vẻ tốt và không có gì sai với trình biên dịch và IDE. Ông có thể giúp tôi không? Cảm ơn trước.
Cập nhật:
@steeldriver nói với tôi rằng đó là do fmt lib không được liên kết. Vì vậy, tôi đã thêm một số lệnh trong nhiệm vụ.json
tập tin:
...
"nhiệm vụ": [
...
"đối số": [
...
"-lfmt", "-L~/usr/include/fmt"
]
]
...
/usr/bao gồm/fmt
là đường dẫn đến fmt lib. @steeldriver đã đề xuất tài liệu tham khảo này https://stackoverflow.com/questions/49486880/how-to-link-fftw3-libraries-for-c-in-vs-code-in-ubuntu.