【问题标题】:What does the error "CPU you selected does not support x86-64 instruction set" mean?错误“您选择的 CPU 不支持 x86-64 指令集”是什么意思?
【发布时间】:2012-05-02 19:01:07
【问题描述】:

我在 Ubuntu 11.10 x86_64 中从 ppa 安装了 Point Cloud Library(包括开发包,不一定与问题相关,但为了完整起见,我提供了这个细节)。 当我尝试编译(在 cmake 生成的 make 文件上制作)我自己的使用 pcl 的代码时,我收到错误您选择的 CPU 不支持 x86-64 指令集。 这个错误是什么意思,我应该检查什么才能消除错误?

【问题讨论】:

    标签: compiler-errors makefile cmake


    【解决方案1】:

    这意味着您将一个标志传递给gcc,它选择了不支持 64 位的 CPU 类型。例如,您可能正在使用 -march=prescott 或类似的标志。你的编译行是什么样的?一些关于标志的有用信息可以在 Gentoo(还有哪里?)wiki 上找到:http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel

    【讨论】:

    • 我在 RHEL6(64 位)中将标志 -march=i486 传递给 gcc 时遇到了同样的错误。它通过删除相同的来解决。
    • cmake 正在做一些“聪明”的事情,导致设置错误的行进,即使是在 x64 机器上运行。这或多或少是一个cmake问题。 (OP顺便提到了cmake)。
    【解决方案2】:

    您是在 64 位机器上运行吗?

    看起来该软件适用于 64 位机器,而您有一个 32 位处理器。

    【讨论】:

    • uname -a 的输出:Linux ubuntu11 3.0.0-13-server #22-Ubuntu SMP Wed Nov 2 15:09:08 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
    • grep --color=always -iw lm /proc/cpuinfo 的输出显示标志 lm,这意味着处理器支持 64 位。
    猜你喜欢
    • 2020-09-12
    • 2012-10-08
    • 2012-02-26
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多