我在ubuntu 16.04上编译一个SFML程序时遇到了ld错误。这显然是一个已知问题,应该有一个解决方法,但我不理解它是什么...
由ld输出的错误是
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 系统中,如果待链接的程序包含诸如 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
还有其他人遇到过这个错误并成功解决吗?
-std=c++11
,而不是--std=c++11
。虽然与您的问题无关,但我想提一下。 - Jesper Juhl