我尝试过使用CMake编译基于swift / objective-c / c ++的混合项目的想法。作为首发,我去了SwiftMix示例并运行以下CMakeList.txt文件:
cmake_minimum_required(VERSION 3.3)
project(SwiftMix C Swift)
add_executable(SwiftMix CMain.c ObjCMain.m SwiftMain.swift ObjC-Swift.h)
set_property(TARGET SwiftMix PROPERTY XCODE_ATTRIBUTE_SWIFT_OBJC_BRIDGING_HEADER "ObjC-Swift.h")
在上面的文件上运行cmake后,我收到以下错误:
CMake Error: CMAKE_Swift_COMPILER not set, after EnableLanguage
然而,它看起来像在CMake安装(版本3.9.1)中,有一个文件/文件处理快速支持并从错误消息中定义缺失的变量:
/usr/local/Cellar/cmake/3.9.1//share/cmake/Modules/CMakeSwiftCompiler.cmake.in
任何想法如何更改" CMakeLists.txt"支持swift?
答案 0 :(得分:-2)
首先," Unix Makefiles"不支持Swift语言。发电机。所以,你必须使用cmake -G Xcode。 然后,生成Xcode项目,如果它不起作用,你可以尝试sudo xcode-select --reset或升级你的cmake版本。 最后,试试cmake -G Xcode。试。