简体   繁体   中英

Compilation error when using Xcode 9.0 with clang (cannot specify -o when generating multiple output files)

I updated my Xcode yesterday (version 9.0) and since then I cannot compile my code with clang anymore. It works great with with apple native compiler, but gives a compilation error with clang from macports. I will explain with more details now...

I usually use clang 4.0 because it has openmp support and I change in Xcode by creating a user-defined setting as in the following figure.

Image with how to use clang 4.0 from macports in Xcode

This has been working perfectly for some time until I updated to Xcode 9.0. Now, I get the following error from clang compiler:

cannot specify -o when generating multiple output files.

I researched a bit and a lot of people say this is because you may have .h files in the compilation table. I double checked and this is not my case. I also would think that this error would have happened with and older Xcode version.

Next, I am attaching the complete compilation command given by Xcode (it's a bit big though!).

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

Note: I use CMake to generate the project.

I can supply any more information that might be needed

Thanks for the help!

Nathan

Xcode 9.0 adds -index-store-path to the build command. It's not supported in clang yet. See this explanation.

You can remove it by disabling the build option Index-While-Building Functionality in Xcode.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM