【发布时间】:2017-01-22 23:55:05
【问题描述】:
在我将 Xcode 更新到最新版本并接受许可协议之前,我的 C++ 程序的 g++ 编译器工作正常。我还尝试使用 clang 而不是 g++ 进行编译,但出现错误。现在我收到一长串错误。有人知道出了什么问题吗?
Ivans-MacBook-Pro:CS6771A3-GenericDirectedWeightedGraph ivanteong$ g++ -std=c++14 -Wall -Werror -O2 -o test6 tests/test6.cpp
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:1:11: warning: section "__textcoal_nt" is deprecated
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:1:11: note: change section name to "__text"
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:211:11: warning: section "__textcoal_nt" is deprecated
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:211:11: note: change section name to "__text"
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:604:11: warning: section "__textcoal_nt" is deprecated
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:604:11: note: change section name to "__text"
.section __TEXT,__textcoal_nt,coalesced,pure_instructions
^ ~~~~~~~~~~~~~
【问题讨论】:
-
尝试在编译命令中省略标志
-O2。 -
仍有问题。我也省略了 -0 仍然是同样的问题。
-
我刚刚意识到卸载Xcode后,当我执行“xcode-select -p”时,它并没有指向“/Applications/Xcode.app/Contents/Developer”(这是Xcode时已安装)但指向“/Library/Developer/CommandLineTools”。当它指向后者时,我再次用 gcc 编译没有问题。这意味着安装 Xcode 8 时指向的命令行工具是不工作的,对吧?因为现在卸载了 Xcode,看来命令行工具默认指向不同的文件夹,并且不会使 gcc 编译器崩溃。
-
是的,我会说很好的观察——所以也许这可能是某种类型的链接器问题?
-
也许可以,但我不能 100% 确定。我还没有上过编译器课程来完全理解它,哈哈。
标签: c++ xcode macos compiler-errors g++