一个空的 main.cppc++编译不过了,在 include/c++/v1/cstring 报 error: expected unqualified-id 有人遇到过吗?

2020-05-01 12:08:23 +08:00
 FutherAll

1981 次点击
所在节点    问与答
14 条回复
FutherAll
2020-05-01 12:10:41 +08:00
gcc 和 clang 都不行,应该不是编译器的问题,对比了下头文件也没有更改,是哪里出了错
wssy
2020-05-01 12:27:42 +08:00
空的 main.cpp ?应该引入了一些文件吧?
把 main.cpp 内容放到在线编译器中试试,排查看是不是环境问题?
FutherAll
2020-05-01 12:44:11 +08:00
FutherAll
2020-05-01 12:45:04 +08:00
@wssy 确实是就一个空的 main.cpp ,应该是环境问题,报错是在 ctring 那
FutherAll
2020-05-01 12:46:54 +08:00
#include <cstring>

引用 cstring 就会报,但是我看 cstring 这个文件是没有改动
wssy
2020-05-01 13:08:21 +08:00
用 g++试试?就用默认编译参数: g++ main.cpp
colom
2020-05-01 14:00:00 +08:00
gcc 不能无参编译 cpp
我记得要手动链接 c++的库
-lstdc++
FutherAll
2020-05-01 14:37:04 +08:00
@wssy g++也不行,是不是要把 c++的系统库删了。。
FutherAll
2020-05-01 14:38:11 +08:00
@colom 在其它电脑上相同方式是正常的,应该默认有参数,网上找了几种传 c++的编译参数的方式都试了
mxalbert1996
2020-05-01 15:30:35 +08:00
编译器的版本和命令不贴一下么?
FutherAll
2020-05-01 15:59:18 +08:00
@mxalbert1996 append 在主贴了,就是 macOS 默认的 gcc
mxalbert1996
2020-05-01 18:22:00 +08:00
@FutherAll macOS 并不自带编译器,编译器需要通过 Xcode 来提供,系统自带的 /usr/bin
mxalbert1996
2020-05-01 18:23:44 +08:00
@FutherAll macOS 并不自带编译器,编译器需要通过 Xcode 来提供,系统自带的 /usr/bin 下的很多程序都只是 wrapper,用来启动 Xcode 里的实际程序(你可以看看 man xcode-select )。另外 gcc 命令实际上用的还是 clang,这一点从你的截图里也能看出来。
最后建议你重装 Xcode 。
FutherAll
2020-05-01 19:21:49 +08:00
@mxalbert1996 非常感谢,我重装 xcode 试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX