Я получаю ld-ошибку при попытке скомпилировать программу sfml на ubuntu 16.04. Это, по-видимому известная проблема, и там должен быть обходной путь, но я не понимаю, что это ...ld linker error "cpu model hidden symbol"
Ошибка выплюнул ЛД является
hidden symbol `__cpu_model' in /usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc.a(cpuinfo.o) is referenced by DSO
Нет соответствующего кода на этом компьютере - так как я понимаю, эта ошибка возникает на всех системах ubuntu 16.04 с g ++ 5, если связанная программа содержит объекты, такие как sf::Texture
и sf::Sprite
. (Я не знаю больше деталей.)
Я также попытался скомпилировать с g ++ 4.9, но та же ошибка возникает.
Компиляция линия g++-4.9 --std=c++11 -Wall main.cpp -lsfml-graphics -lsfml-window -lsfml-system -o a.out
Кто-нибудь еще испытал эту ошибку и решить ее успешно?
Примечание; правильным флагом для поддержки C++ 11 является '-std = C++ 11', а не' --std = C++ 11'. Не относится к вашей проблеме, просто подумал, что я бы сказал об этом. –
@JesperJuhl Это? Оба, похоже, работают? Почему один правильный, чем другой? Версия двойной тире следует за регулярным синтаксисом командной строки Linux. – user3728501
Я расскажу, что говорится в документации: попробуйте «man g ++» самостоятельно и посмотрите. –