Was CMake-variable wird verwendet, um die C++ Standard Library in XCode?

Ich habe einen reinen C++11-DLL (Keine Abhängigkeiten jeglicher Art) ich habe schon in der Lage zu kompilieren unter Linux und Windows für einige Zeit nun mit CMake zu generieren, die Projekt-Dateien und machen/MSVC kompiliert, die in den jeweiligen nativen system.

Möchte ich auf OSX kompilieren jetzt, und ich habe eine Menge Probleme bekommen, CMake, um die richtige Projekt-Einstellungen in XCode zu kompilieren Sie die DLL.

Software-Versionen:

XCode v5.0
CMake v2.8.12

Den entsprechenden CMake-Skript-code:

# Set output directory if Apple OSX:
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    message("CMAKE HAS DETECTED A OSX SYSTEM - BUILDING FOR XCODE!")

    set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
    set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
    set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
    set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++0x -stdlib=libc++")

    IF(CMAKE_BUILD_TYPE MATCHES Release)
        SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/OSX/Release)
    ENDIF(CMAKE_BUILD_TYPE MATCHES Release)
    IF(CMAKE_BUILD_TYPE MATCHES Debug)
        SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin/OSX/Debug)
    ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

Jedoch die Einstellungen nicht richtig durch gekommen, in der XCode-Projekt-Datei:

Was CMake-variable wird verwendet, um die C++ Standard Library in XCode?

Können Sie sehen, dass die CMake-Befehle machen Ihren Weg in die 'Andere C++ Flags" - Bereich. Aber XCode wird immer noch nicht kompilieren. Jedoch, wenn ich den "C++ Standard Library" - variable auf "libc++" es wird kompilieren in Ordnung.

Hinweis: ich könnte den compile-error-logs, aber ich denke, dass die oben genannten, korrekt identifiziert die Ursache - ich muss nur wissen, was CMake-Befehl tatsächlich setzt die richtigen XCode Eigentum über.

  • Wahrscheinlich haben Sie schon gesehen stackoverflow.com/questions/7879630/... . Trotzdem, es sieht aus, dass xcode in der neueren version mit Maverks dreht sich auf C++11 Standard.
  • Yep. Nicht helfen, leider.
InformationsquelleAutor S.Richmond | 2013-10-13
Schreibe einen Kommentar