gpt4 book ai didi

c++ - C++ (macOS) 的编译错误

转载 作者:行者123 更新时间:2023-11-30 01:05:14 24 4
gpt4 key购买 nike

当我尝试在 Mac(HighSierra:版本 10.13.3)中编译这个非常简单的 C++ 程序时出现错误。此 Mac 中使用的 gcc 版本是 5.3.0。

这是 C++ 程序:

#include<iostream>
#include<cmath>
#include<fstream>
using namespace std;

int main()
{
cout<<sin(1);
}

根据之前问题的回答,我使用 xcode-select --install 安装了命令行工具

在上述命令行安装之后,当我尝试使用编译这个程序时

gcc filename.cpp -o filename.out

我收到以下错误:

/var/folders/mp/z7xpkw3538z71904cdqhztv00000gn/T//ccGJEHr7.s:24:11: warning: section "__textcoal_nt" is deprecated
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/mp/z7xpkw3538z71904cdqhztv00000gn/T//ccGJEHr7.s:24:11: note: change section name to "__text"
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
Undefined symbols for architecture x86_64:
"std::basic_ostream<char, std::char_traits<char> >::operator<<(double)", referenced from:
_main in ccpjcybF.o
"std::ios_base::Init::Init()", referenced from:
__static_initialization_and_destruction_0(int, int) in ccpjcybF.o
"std::ios_base::Init::~Init()", referenced from:
__static_initialization_and_destruction_0(int, int) in ccpjcybF.o
"std::cout", referenced from:
_main in ccpjcybF.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

我该如何解决这个问题?


更新:

根据答案,现在我使用了g++,即

g++ filename.cpp -o filename.out

现在,我收到以下错误:

/var/folders/mp/z7xpkw3538z71904cdqhztv00000gn/T//ccJjEuJy.s:24:11: warning: section "__textcoal_nt" is deprecated
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/mp/z7xpkw3538z71904cdqhztv00000gn/T//ccJjEuJy.s:24:11: note: change section name to "__text"
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~

最佳答案

您正在使用 gcc 编译 C 源代码。

这就是问题所在,您应该改用 g++

关于c++ - C++ (macOS) 的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com