c++ - 使用 Xcode 9.0 with clang 时出现编译错误(生成多个输出文件时不能指定 -o)

标签 c++ xcode clang openmp xcode9

我昨天更新了我的 Xcode(版本 9.0),从那时起我就不能再用 clang 编译我的代码了。它与 apple native 编译器配合使用效果很好,但在 macports 的 clang 中给出了编译错误。我现在将更详细地解释...

我通常使用 clang 4.0,因为它支持 openmp,我通过创建用户定义的设置来更改 Xcode,如下图所示。

Image with how to use clang 4.0 from macports in Xcode

在我更新到 Xcode 9.0 之前,这已经完美运行了一段时间。现在,我从 clang 编译器得到以下错误:

生成多个输出文件时不能指定-o。

我研究了一下,很多人说这是因为你的编译表中可能有.h文件。我仔细检查了一下,这不是我的情况。我还认为这个错误会发生在较旧的 Xcode 版本上。

接下来附上Xcode给出的完整编译命令(虽然有点大!)。

CompileC /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/Objects-normal/x86_64/ComplexFloat.o SciEng/Algebra/ComplexFloat.C normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver
export LANG=en_US.US-ASCII
/opt/local/bin/clang-mp-4.0 -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DCMAKE_INTDIR=\"Debug\" -DVECLIB_MAXIMUM_THREADS=8 -DPARALLEL_ON -DNUM_PROC=8 -DUSE_VTK -DvtkDomainsChemistry_AUTOINIT=1(vtkDomainsChemistryOpenGL2) -DvtkRenderingContext2D_AUTOINIT=1(vtkRenderingContextOpenGL2) -DvtkRenderingCore_AUTOINIT=3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL2) -DvtkRenderingOpenGL2_AUTOINIT=1(vtkRenderingGL2PSOpenGL2) -DvtkRenderingVolume_AUTOINIT=1(vtkRenderingVolumeOpenGL2) -DUSE_CGAL -DCGAL_USE_MPFR -DCGAL_USE_GMP -DUSE_CGAL_EXACT_ARITHMETIC -DMKL_VERSION_11 -DUSE_PARDISO_MKL -DMKL_NUM_THREADS=8 -DXLC_QNOTEMPINC -DNO_IMPLICIT_TEMPLATE -DSCIENG_CHECK_SUBSCRIPTS -DBOOST_DEBUG=1 -DSET_DEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.13 -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -index-store-path /Users/Nathan/Library/Developer/Xcode/DerivedData/ISET-eireryvadmfrwyarbuzbnkopwhid/Index/DataStore -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/Debug/include -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Algebra -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Array -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/AutoDeriv -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/DataModeling -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Function -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/LapackWrap -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/SciEng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Units -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Vector -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/include -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/analysis -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/cholmod -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/cosys -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crackmg2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crgeoeng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crgeoeng2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crgrphysics -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/extract -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/fiber_gfem -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/grgeoeng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/integration -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/ma27solver -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/material -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/material2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/mesh -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/mesh2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/pardiso -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/post -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/pre -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/python -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/renumber -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/tNewtonRaphason -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/topology -I/opt/local/include -I/opt/local/include/vtk-7.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/python2.7 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel -I/Users/Nathan/Documents/Programming/CGAL_CleanVersions/CGAL-4.10/compileXcode/include -I/Users/Nathan/Documents/Programming/CGAL_CleanVersions/CGAL-4.10/include -I/opt/intel/compilers_and_libraries_2016.2.146/mac/mkl/include -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/DerivedSources/x86_64 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/DerivedSources -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/Debug -m64 -fopenmp -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Algebra -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Array -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/AutoDeriv -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/DataModeling -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Function -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/LapackWrap -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/SciEng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Units -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Vector -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/include -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/analysis -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/cholmod -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/cosys -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crackmg2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crgeoeng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crgeoeng2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/crgrphysics -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/extract -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/fiber_gfem -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/grgeoeng -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/integration -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/ma27solver -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/material -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/material2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/mesh -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/mesh2 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/pardiso -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/post -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/pre -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/python -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/renumber -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/tNewtonRaphason -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/topology -isystem /opt/local/include -I/opt/local/include/vtk-7.1 -I/usr/include/python2.7 -I/Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel -I/Users/Nathan/Documents/Programming/CGAL_CleanVersions/CGAL-4.10/compileXcode/include -I/Users/Nathan/Documents/Programming/CGAL_CleanVersions/CGAL-4.10/include -I/opt/intel/compilers_and_libraries_2016.2.146/mac/mkl/include -MMD -MT dependencies -MF /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/Objects-normal/x86_64/ComplexFloat.d --serialize-diagnostics /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/Objects-normal/x86_64/ComplexFloat.dia -c /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/SetSolver/SciEng/Algebra/ComplexFloat.C -o /Users/Nathan/Documents/Programming/ISET_CoupledFormulationMerged/ProjectXcodeParallel/lib/ISET.build/Debug/scieng.build/Objects-normal/x86_64/ComplexFloat.o

注意:我使用CMake生成项目。

我可以提供任何可能需要的更多信息

感谢您的帮助!

内森

最佳答案

Xcode 9.0 将 -index-store-path 添加到构建命令中。 clang 还不支持它。 See this explanation.

您可以通过在 Xcode 中禁用构建选项 Index-While-Building Functionality 来删除它。

关于c++ - 使用 Xcode 9.0 with clang 时出现编译错误(生成多个输出文件时不能指定 -o),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46331918/

相关文章:

c++ - 从对象中获取值

c++ - 静态变量的初始化

c++ - gcc 内部符号装饰有什么问题?

ios - 编辑器中缺少 Xcode 文件

ios - 父 View 中的 Swift 容器控件

windows - 如何在Windows上使用clang从命令行传递链接描述文件?

c++ - 模板函数类型推导和运算符<<

iphone - 在 iPhone 中使用 powerplot 创建折线图

android - 如何为Android编译并运行简单的C代码?

ios - 无法通过 pragma 禁用 LLVM 优化