Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用CMAKLIST设置XCODE项目的C++语言 < C++ > C++ C++语言,我使用CGEAR生成XCODE项目,在其构建设置中,C++语言方言和C++标准库设置是编译器缺省值,但是我想将C++语言方言设置为GNU+++ 11 [-STD= GNU+11 ],并将C++标准库设置为具有C++ 11支持的LBC++LLVM C++标准库,那么我应该修改CMAKELIST? 顺便说一下,此项目用于创建IOS.a文件,我尝试了此命令行,但失败: if(NOT ${CMAKE_VERSION} VERSION_LESS "3.2" AND NOT APPLE) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) else() message(STATUS "Checking compiler flags for C++11 support.") # Set C++11 support flags for various compilers include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) message(STATUS "C++11 is supported.") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif() elseif(COMPILER_SUPPORTS_CXX0X) message(STATUS "C++0x is supported.") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") endif() else() message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") endif() endif()_Xcode_Cmake - Fatal编程技术网

如何使用CMAKLIST设置XCODE项目的C++语言 < C++ > C++ C++语言,我使用CGEAR生成XCODE项目,在其构建设置中,C++语言方言和C++标准库设置是编译器缺省值,但是我想将C++语言方言设置为GNU+++ 11 [-STD= GNU+11 ],并将C++标准库设置为具有C++ 11支持的LBC++LLVM C++标准库,那么我应该修改CMAKELIST? 顺便说一下,此项目用于创建IOS.a文件,我尝试了此命令行,但失败: if(NOT ${CMAKE_VERSION} VERSION_LESS "3.2" AND NOT APPLE) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) else() message(STATUS "Checking compiler flags for C++11 support.") # Set C++11 support flags for various compilers include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) message(STATUS "C++11 is supported.") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif() elseif(COMPILER_SUPPORTS_CXX0X) message(STATUS "C++0x is supported.") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") endif() else() message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") endif() endif()

如何使用CMAKLIST设置XCODE项目的C++语言 < C++ > C++ C++语言,我使用CGEAR生成XCODE项目,在其构建设置中,C++语言方言和C++标准库设置是编译器缺省值,但是我想将C++语言方言设置为GNU+++ 11 [-STD= GNU+11 ],并将C++标准库设置为具有C++ 11支持的LBC++LLVM C++标准库,那么我应该修改CMAKELIST? 顺便说一下,此项目用于创建IOS.a文件,我尝试了此命令行,但失败: if(NOT ${CMAKE_VERSION} VERSION_LESS "3.2" AND NOT APPLE) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) else() message(STATUS "Checking compiler flags for C++11 support.") # Set C++11 support flags for various compilers include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) message(STATUS "C++11 is supported.") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") endif() elseif(COMPILER_SUPPORTS_CXX0X) message(STATUS "C++0x is supported.") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") endif() else() message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") endif() endif(),xcode,cmake,Xcode,Cmake,以下是我的简历: cmake_minimum_required(VERSION 2.8) project(Navigation C CXX) if(NOT ${CMAKE_VERSION} VERSION_LESS "3.2" AND NOT APPLE) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) else() message(STATUS "Checking compiler flag

以下是我的简历:

cmake_minimum_required(VERSION 2.8)
project(Navigation C CXX)

if(NOT ${CMAKE_VERSION} VERSION_LESS "3.2" AND NOT APPLE)
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
else()
    message(STATUS "Checking compiler flags for C++11 support.")
    # Set C++11 support flags for various compilers
    include(CheckCXXCompilerFlag)
    check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11)
    check_cxx_compiler_flag("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
    if(COMPILER_SUPPORTS_CXX11)
        message(STATUS "C++11 is supported.")
        if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
        else()
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
        endif()
    elseif(COMPILER_SUPPORTS_CXX0X)
        message(STATUS "C++0x is supported.")
        if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -stdlib=libc++")
        else()
            set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
        endif()
    else()
        message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
    endif()
endif()


#MESSAGE(STATUS "WIN32 ${WIN32}")

if (WIN32)
 set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
 set(CMAKE_C_FLAGS_DEBUG "-DDEBUG -D_CRT_SECURE_NO_WARNINGS /MTd")
 set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG /MT /DEBUG:FASTLINK")
 set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -D_CRT_SECURE_NO_WARNINGS /MTd /Od")
 set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG /MT /DEBUG:FASTLINK /O2 /Ob2")
endif (WIN32)


if (IOS)
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fembed-bitcode")
    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -fembed-bitcode")
endif()

if (CMAKE_CL_64)
 message(STATUS "x64")
else (CMAKE_CL_64)
 message(STATUS "x86")
endif (CMAKE_CL_64)

OPTION(DEFINE_DT_POLYREF64 "use 64-bit refs" ON) 
if(DEFINE_DT_POLYREF64) 
 add_definitions(-DDT_POLYREF64) 
ENDIF(DEFINE_DT_POLYREF64) 

message(${PROJECT_SOURCE_DIR})
include_directories(
 "${PROJECT_SOURCE_DIR}/../../../Detour"
 "${PROJECT_SOURCE_DIR}/../../../Navigation"
 "${PROJECT_SOURCE_DIR}/../../Src"
 "${PROJECT_SOURCE_DIR}/../../../Navigation/Load/Include"
 "${PROJECT_SOURCE_DIR}/../../../Navigation/IO/Include"
 "${PROJECT_SOURCE_DIR}/../../../Navigation/Container/Include"
 )

#set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}")
#set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib/$(Platform)/${CMAKE_BUILD_TYPE}")

file(GLOB Detour "${PROJECT_SOURCE_DIR}/../../../Detour/*")
file(GLOB Navigation "${PROJECT_SOURCE_DIR}/../../../Navigation/*.*")
file(GLOB IO "${PROJECT_SOURCE_DIR}/../../../Navigation/IO/Include/*" "${PROJECT_SOURCE_DIR}/../../../Navigation/IO/Source/*")
file(GLOB Load "${PROJECT_SOURCE_DIR}/../../../Navigation/Load/Include/*" "${PROJECT_SOURCE_DIR}/../../../Navigation/Load/Source/*")
file(GLOB Container "${PROJECT_SOURCE_DIR}/../../../Navigation/Container/Include/*" "${PROJECT_SOURCE_DIR}/../../../Navigation/Container/Source/*")
file(GLOB Client "${PROJECT_SOURCE_DIR}/../../Src/*")

source_group(\\Detour FILES ${Detour})
source_group(\\Navigation FILES ${Navigation})
source_group(\\Container FILES ${Container})
source_group(\\IO FILES ${IO})
source_group(\\Load FILES ${Load})
source_group(\\Client FILES ${Client})

if (APPLE)
 if(IOS)
  set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)")
  add_library(Recast STATIC ${Client} ${Detour} ${Navigation} ${IO} ${Container} ${Load})
     set_xcode_property(Recast IPHONEOS_DEPLOYMENT_TARGET "9.0")
 else()
     set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)")
  add_library(Recast MODULE ${Client} ${Detour} ${Navigation} ${IO} ${Container} ${Load})
     set_target_properties(Recast PROPERTIES BUNDLE TRUE)
 endif()
else()
    add_definitions(-DSDG_DLL_EXPORT)
 add_library(Recast SHARED ${Client} ${Detour} ${Navigation} ${IO} ${Container} ${Load})
endif()
以下是输出文件的一部分:

In file included from /Users/wutong/Desktop/Navigation/navigation/Detour/DetourTileCache.cpp:1:
In file included from /Users/wutong/Desktop/Navigation/navigation/Client/Build/ios/../../../Detour/DetourTileCache.h:5:
/Users/wutong/Desktop/Navigation/navigation/Client/Build/ios/../../../Navigation/Container/Include/Vector2.h:31:17: error: expected ';' at end of declaration list
    IntVector2() noexcept :
                ^
                ;
/Users/wutong/Desktop/Navigation/navigation/Client/Build/ios/../../../Navigation/Container/Include/Vector2.h:64:50: error: expected ';' at end of declaration list
    IntVector2& operator =(const IntVector2& rhs) noexcept = default;
                                                 ^
                                                 ;
/Users/wutong/Desktop/Navigation/navigation/Client/Build/ios/../../../Navigation/Container/Include/Vector2.h:73:65: error: no matching constructor for
      initialization of 'IntVector2'
    IntVector2 operator +(const IntVector2& rhs) const { return IntVector2(x_ + rhs.x_, y_ + rhs.y_); }
                                                                ^          ~~~~~~~~~~~~~~~~~~~~~~~~
/Users/wutong/Desktop/Navigation/navigation/Client/Build/ios/../../../Navigation/Container/Include/Vector2.h:27:7: note: candidate constructor
      (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
class IntVector2
      ^
/Users/wutong/Desktop/Navigation/navigation/Client/Build/ios/../../../Navigation/Container/Include/Vector2.h:31:5: note: candidate constructor not viable: requires
      0 arguments, but 2 were provided
    IntVector2() noexcept :
...
...
...
** BUILD FAILED **


The following build commands failed:
 CompileC build_ios/Navigation.build/Release-iphoneos/Recast.build/Objects-normal/armv7/DetourTileCache.o /Users/wutong/Desktop/Navigation/navigation/Detour/DetourTileCache.cpp normal armv7 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

有人能帮忙吗?提前谢谢。

我想我明白了,我应该把它写在ifIOS语句范围内,所以我这样写我的CmakeList,它运行得很好

cmake_minimum_required(VERSION 2.8)
project(Navigation C CXX)

#MESSAGE(STATUS "WIN32 ${WIN32}")

if (WIN32)
 set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
 set(CMAKE_C_FLAGS_DEBUG "-DDEBUG -D_CRT_SECURE_NO_WARNINGS /MTd")
 set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG /MT /DEBUG:FASTLINK")
 set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -D_CRT_SECURE_NO_WARNINGS /MTd /Od")
 set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG /MT /DEBUG:FASTLINK /O2 /Ob2")
endif (WIN32)


if (IOS)
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fembed-bitcode")
    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -std=c++11 -fembed-bitcode")
endif()

if (CMAKE_CL_64)
 message(STATUS "x64")
else (CMAKE_CL_64)
 message(STATUS "x86")
endif (CMAKE_CL_64)

OPTION(DEFINE_DT_POLYREF64 "use 64-bit refs" ON) 
if(DEFINE_DT_POLYREF64) 
 add_definitions(-DDT_POLYREF64) 
ENDIF(DEFINE_DT_POLYREF64) 

message(${PROJECT_SOURCE_DIR})
include_directories(
 "${PROJECT_SOURCE_DIR}/../../../Detour"
 "${PROJECT_SOURCE_DIR}/../../../Navigation"
 "${PROJECT_SOURCE_DIR}/../../Src"
 "${PROJECT_SOURCE_DIR}/../../../Navigation/Load/Include"
 "${PROJECT_SOURCE_DIR}/../../../Navigation/IO/Include"
 "${PROJECT_SOURCE_DIR}/../../../Navigation/Container/Include"
 )

#set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}")
#set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib/$(Platform)/${CMAKE_BUILD_TYPE}")

file(GLOB Detour "${PROJECT_SOURCE_DIR}/../../../Detour/*")
file(GLOB Navigation "${PROJECT_SOURCE_DIR}/../../../Navigation/*.*")
file(GLOB IO "${PROJECT_SOURCE_DIR}/../../../Navigation/IO/Include/*" "${PROJECT_SOURCE_DIR}/../../../Navigation/IO/Source/*")
file(GLOB Load "${PROJECT_SOURCE_DIR}/../../../Navigation/Load/Include/*" "${PROJECT_SOURCE_DIR}/../../../Navigation/Load/Source/*")
file(GLOB Container "${PROJECT_SOURCE_DIR}/../../../Navigation/Container/Include/*" "${PROJECT_SOURCE_DIR}/../../../Navigation/Container/Source/*")
file(GLOB Client "${PROJECT_SOURCE_DIR}/../../Src/*")

source_group(\\Detour FILES ${Detour})
source_group(\\Navigation FILES ${Navigation})
source_group(\\Container FILES ${Container})
source_group(\\IO FILES ${IO})
source_group(\\Load FILES ${Load})
source_group(\\Client FILES ${Client})

if (APPLE)
 if(IOS)
  set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)")
  add_library(Recast STATIC ${Client} ${Detour} ${Navigation} ${IO} ${Container} ${Load})
     set_xcode_property(Recast IPHONEOS_DEPLOYMENT_TARGET "9.0")
 else()
     set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)")
  add_library(Recast MODULE ${Client} ${Detour} ${Navigation} ${IO} ${Container} ${Load})
     set_target_properties(Recast PROPERTIES BUNDLE TRUE)
 endif()
else()
    add_definitions(-DSDG_DLL_EXPORT)
 add_library(Recast SHARED ${Client} ${Detour} ${Navigation} ${IO} ${Container} ${Load})
endif()