使用真正的 GCC/G++ 在 OSX 中进行根编译

使用真正的 GCC/G++ 在 OSX 中进行根编译

我需要用 gcc/g++ 编译 ROOT。我在使用 Objective C 库时遇到困难。

如果我将真正的 g++ (使用安装brew)链接到命令,并且与->gg++相同- 我可以开始编译gccggcc

$ 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

相关内容