在Mac莫哈韦上安装的gcc和g++不工作(brew安装)

vpfxa7rd  于 2022-11-13  发布在  Mac
关注(0)|答案(2)|浏览(390)

我在Mac OS莫哈韦上安装了Brew的GCC,但是GCC和G都不工作。
我试着用g
编译下面的简单代码,但是我收到了错误消息。
这个程序可以通过默认的clang正确编译,所以我想知道有没有库链接错误。但我不确定。
我得到了同样的错误在gcc的情况下。

#include <iostream>
using namespace std;

int main(){
    int i;
    cin >> i;
    cout << i * 2 + 1 << endl;
}

ld:警告:忽略文件/库/开发人员/命令行工具/SDK/MacOSX.sdk/usr/lib/libSystem.tbd,文件是为不支持的文件格式(0x 2D 0x 2D 0x 20 0x 21 0x 74 0x 61 0x 70 0x 69 0x 2D 0x 74 0x 62 0x 64 0x 2D 0x 76 0x 33)构建的,该格式不是正在链接的体系结构(x86_64):/资源库/开发人员/命令行工具/软件开发工具包/MacOSX.sdk/usr/lib/libSystem.tbd x86_64体系结构的未定义符号:“___cxa_atexit”,引用自:在ccEBCemd中的静态初始化和析构0(整数,整数):未找到体系结构x86_64 collect 2的符号:错误:ld返回1退出状态
g++ -v表示
使用内建规格。COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/9.2.0_1/libexec/gcc/x86_64-apple-darwin 18/9.2.0/lto-wrapper目的:x86_64-apple-darwin 18配置有:C++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++在这里,我们可以用一个简单的例子来说明这个问题,即:线程模型:posix gcc版本9.2.0(自制GCC 9.2.0_1)'

  • 谢谢-谢谢
gg58donl

gg58donl1#

最后,更新Xcode解决了错误。谢谢您的帮助。
正如您所评论的,我尝试g++ --sysroot=/ -o test test.cpp,然后我得到了一个新的错误,如
致命错误:wchar.h:没有这样的文件或目录#include ^~~~~~~~~
我也试着编译只有int main(){}而没有任何库的代码。然后成功了。
从这里我了解到标准库中有一个相关的问题。这个问题有时会发生在Can't compile C program on a Mac after upgrade to Mojave上。
无论如何,这类问题的解决方案似乎是更新或重新安装Xcode或GCC。
谢谢你!

kx1ctssn

kx1ctssn2#

我注意到您的错误日志:file was built for unsupported file format ( 0x2D 0x2D 0x2D 0x20 0x21 0x74 0x61 0x70 0x69 0x2D 0x74 0x62 0x64 0x2D 0x76 0x33 ) which is not the architecture being linked (x86_64)
我想您应该使用以下命令重新安装gcc & g++:arch -x86_64 brew install gcc,这将在x86_64体系结构中安装它们。

相关问题