我需要用 gcc/g++ 编译 ROOT。我在使用 Objective C 库时遇到困难。
如果我将真正的 g++ (使用安装brew
)链接到命令,并且与->gg++
相同- 我可以开始编译gcc
ggcc
$ cmake ../ -DCMAKE_CXX_COMPILER=gg++ -DCMAKE_C_COMPILER=ggcc <the rest of my options>
编译大约完成了 70%,然后出现“选项 '-O' 采用整数参数”的错误。我追踪到了这一点。在'root/core/macosx/CMakeLists.txt'中,有一行
set_source_files_properties(${sources} COMPILE_FLAGS "-ObjC++ -std=c++11")
g++
无法识别 Objective C 标志也是如此。我已将此行更改为
set_source_files_properties(${sources} COMPILE_FLAGS "-x objective-c++-header -lobjc -std=c++11")
这是g++
等价的。我也尝试过-x objective-c++
。此尝试失败率约为 70%,并出现数百个错误。基本上看起来编译器不理解 Objective C++。
有没有人在 OSX 上成功地从源代码编译 ROOT g++
(不是clang
)?
PS - 作为旁注,我相信OSX 上的g++
in/usr/bin
实际上是一个链接clang
- 在我的机器上通过键入 进行验证g++ --version
。这就是我g++
从进行安装brew
并将其链接到 的原因gg++
。
- 根版本:Github Master 分支,提交#2762a32
- 平台:操作系统X
- 编译器:海湾合作委员会8.1.0