Tôi gặp lỗi ld khi cố gắng biên dịch chương trình sfml trên ubuntu 16.04. Đây rõ ràng là một vấn đề được biết đến, và có được coi là một cách giải quyết, nhưng tôi không hiểu là những gì nó ...lỗi liên kết ld "biểu tượng ẩn cpu mô hình"
Lỗi nhổ ra bởi ld là
hidden symbol `__cpu_model' in /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc.a(cpuinfo.o) is referenced by DSO
Không có mã liên quan đến điều này - vì tôi hiểu rằng lỗi này được tạo trên tất cả các hệ thống ubuntu 16.04 với g ++ 5, nếu chương trình được liên kết chứa các đối tượng như sf::Texture
và sf::Sprite
. (Tôi không biết chi tiết hơn điều này.)
Tôi cũng đã thử biên dịch với g ++ 4.9 nhưng lỗi tương tự cũng xảy ra.
dòng biên dịch của tôi là g++-4.9 --std=c++11 -Wall main.cpp -lsfml-graphics -lsfml-window -lsfml-system -o a.out
Có ai khác có kinh nghiệm lỗi này và giải quyết nó thành công?
Lưu ý; cờ chính xác cho hỗ trợ C++ 11 là '-std = C++ 11', không phải' --std = C++ 11'. Không liên quan đến vấn đề của bạn, chỉ cần nghĩ rằng tôi muốn đề cập đến nó .. –
@ JesperJuhl Có phải không? Cả hai dường như làm việc? Tại sao lại chính xác hơn cái kia? Phiên bản dấu gạch ngang kép tuân thủ cú pháp lệnh Linux thông thường. – user3728501
Tôi đang đi với những gì các tài liệu hướng dẫn - hãy thử "người đàn ông g + +" chính mình và tìm nó lên. –