在 64 位 Lubuntu 上运行 64 位文件时收到消息:无法执行二进制文件:执行格式错误

在 64 位 Lubuntu 上运行 64 位文件时收到消息:无法执行二进制文件:执行格式错误

我正在运行 Lubuntu 15.04 64 位,想学习使用 SFML 编码。我编写了一个程序作为测试:

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(1366, 768), "Welcome Screen");

    return 0;
}

运行时我收到错误:

bash: ./EOTL: cannot execute binary file: Exec format error

我已经安装了 g++-4.9 并运行:

g++ -c -o EOTL main.cpp -libsfml-graphics -libsfml-window -libsfml-system

请帮助我,提前谢谢您。

更新:我猜 g++ 非常挑剔所以我不得不运行:

g++ -c main.cpp -o EOTL

答案1

我发现这不起作用的原因是,出于某种原因,g++ 对选项的顺序很挑剔。要正确编译,您必须运行:

g++ -c example.cpp -o example -libsfml-graphics -libsfml-window -libsfml-system

相关内容