objective-c - CMake编译swift项目

标签 objective-c swift macos compilation cmake

我试过尝试使用 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/

相关文章:

objective-c - 将工作委托(delegate)给两个不同的委托(delegate),这可能吗?

Swift 将 Eureka 日期转换为 String 以进行 firebase 存储

macos - IOKit 设备添加/删除通知 - 只触发一次?

java - 如何指定在 NSMenuItem(最小化窗口指示器)中显示菱形?

objective-c - 将浮点向上舍入到第一个非零值

iphone - 访问委托(delegate)时出现“无法识别的选择器”错误

ios - 无法在iOS中读取database.sqlite文件(没有这样的表METADATA)

ios - 如何从 UITableViewRowAction 获取对按钮的引用?

objective-c - 如何在 Objective-C 应用程序中观察 NSUserDefaults 的命令行更改?

objective-c - 如何以编程方式获取域名