我试过尝试使用 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 错误:在 EnableLanguage 之后未设置 CMAKE_Swift_COMPILER
但是,看起来在 CMake 安装(版本 3.9.1)中,有一个/多个文件处理快速支持并定义错误消息中缺少的变量:
/usr/local/Cellar/cmake/3.9.1//share/cmake/Modules/CMakeSwiftCompiler.cmake.in
知道如何更改“CMakeLists.txt”以支持 swift 吗?
最佳答案
首先,“Unix Makefiles”生成器不支持 Swift 语言。所以,你必须使用 cmake -G Xcode 。 然后,生成 Xcode 项目,如果它不起作用,您可以尝试 sudo xcode-select --reset 或升级您的 cmake 版本。 最后,尝试 cmake -G Xcode 。再次。
关于objective-c - CMake编译swift项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442641/