Swift 3.0 on Ubuntu 15.10

一、安装swift 3.0

1. 下载

https://swift.org/download/

找到swift-3.0 ubuntu 15.10版本下载:

https://swift.org/builds/swift-3.0-preview-1/ubuntu1510/swift-3.0-preview-1/swift-3.0-preview-1-ubuntu15.10.tar.gz

2. 解压文件,然后移动改名到/opt

$ tar zvxf swift-3.0-preview-1-ubuntu15.10.tar.gz
$ sudo mv swift-3.0-preview-1-ubuntu15.10 /opt/swift-3.0

 

3. 在启动配置文件中加入PATH变量,我这里加入~/.zshrc结尾

export PATH=/opt/swift-3.0/usr/bin:"${PATH}"

 

4. 安装 glang

$ sudo apt-get --assume-yes install clang

 

5. 验证

$ swift --version
Swift version 3.0 (swift-3.0-PREVIEW-1)
Target: x86_64-unknown-linux-gnu
$ swiftc --version
Swift version 3.0 (swift-3.0-PREVIEW-1)
Target: x86_64-unknown-linux-gnu
$ swift-build --version
Swift Package Manager – Swift 3.0
$ 

 

二、配置JetBrains CLion

注:CLion是收费软件。

https://www.jetbrains.com/clion/download/#section=linux-version

下载位置:

https://download.jetbrains.com/cpp/CLion-2016.1.3.tar.gz

如果下载没进度,可以尝试用百度云离线下载,将http代替https。

然后同前面一样,将CLion解压移动到/opt下:

$ tar zvxf CLion-2016.1.3.tar.gz
$ sudo mv cLion-2016.1.3 /opt/
$ cd /opt/cLion-2016.1.3/bin
$ ./clion.sh

按照提示操作,注意到安装插件时候安装Swift插件

启动CLion, File -> Settings

1) 在 Editor / General / Apperance 右侧 勾选 Show line number

2) 在 Build, Execution, Deployment / Swift 右侧 输入SDK路径:  /opt/swift-3.0  ,勾选Use Swift debugger

3) CLion在LLDB调试时候需要liblldb.so.3,所以做个软连接

$ cd /opt/swift-3.0/usr/lib
$ ln -s liblldb.so liblldb.so.3

 

创建一个HelloSwift项目

在CLion中,File -> New Project,输入项目名: HelloSwift 

删除左侧项目列表的 main.cpp

然后右键HelloSwift -> New -> Swift File,名为 Package.swift 

然后右键HelloSwift -> New -> Directory,目录名为 Sources 

右键Sources -> New -> Swift File, 名为 main.swift 

右键Sources -> New -> Swift Class, 名为 Utility.swift 

双击CMakeLists.txt,改成下面:

cmake_minimum_required(VERSION 3.5)
project(HelloSwift)add_custom_target(COMMAND /opt/swift-3.0/usr/bin/swift buildWORKING_DIRECTORY ${CMAKE_SOURCE_DIR}SOURCESPackage.swiftSources/main.swiftSources/Utility.swift
)

 

Utility.swift代码:

import Foundationclass Utility {static func factorial(_ n: Int) -> Int {if n <= 1 { return n }return n * factorial(n - 1)}}

 

main.swift代码:

import Foundation
import Glibclet number = 4
print("\(number)! is equal to \(Utility.factorial(number))")

 

点击CLion右上角的运行按钮,Edit Configurations,Target选择COMMAND,运行,是它编译出HelloSwift/.build/debug/HelloSwift。

然后再次点它,在Edit Configurations中,将Executable:选择HelloSwift/.build/debug/HelloSwift文件:

 

现在就可点右上角的调试按钮(BUG虫图标),进行调试了:

 

 

 

文档:

The Swift Programming Language (ePub)

epub阅读器:

$ sudo apt-get install Calibre

 

转载于:https://www.cnblogs.com/Bob-wei/p/5591825.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决uni-app官方弹框popup关闭不了问题;/pages/extUI/popup/popup;uni-app弹框popup打开调用事件。unin-app弹框封装;

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210716165216781.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2lfYW1fYV9kaXY,size_16,color_FFFFFF,t_70)官方uni-app的弹框popup模板问题: 官方的弹框示…

uni-app自定义tabBar;uni-app小程序自定义tabBar;uni-app小程序修改中间tabBar导航栏大小;uni-app中间导航栏凸起;uni-app修改底部导航栏

需求&#xff1a;要求小程序&#xff0c;中间的tabBar自定义凸起或者图标变大&#xff1b; 问题&#xff1a;查看uni-app的tabBar文档可知&#xff0c;小程序是不支持midButton的&#xff1b; 解决思路&#xff1a;隐藏uni-app原有的tabBar&#xff0c;然后换成自己手写的导航…

uni-app小程序 点击页面滚动到指定位置

uni.pageScrollTo({scrollTop: 0,duration: 300,})

mysql Connector C/C++ 多线程封装

From: http://blog.csdn.net/educast/article/details/14163519 在网上找了好久&#xff0c;有很多封装&#xff0c;但是感觉对多线程处理的不多&#xff0c;都不是很理想。封装完的第一个版本&#xff0c;想法比较简单&#xff0c;使用一个单例模式&#xff0c;对应一个连接&a…

uni-app微信小程序image引入图片;background-image背景图引入图片;小程序预览本地图片;小程序图片过大引入报错;获取本地图片的网络地址;

uni-app小程序图片使用有image标签和background-image背景图两种方式&#xff1a; 下有获取本地图片的网络地址方式&#xff1a;见第四步 一、方式一&#xff1a;使用image标签引入&#xff1a; uni-app官方image 1.官方文档说&#xff1a;src 仅支持相对路径、绝对路径&…

微商小程序加人加粉推广平台二维码

微商加人推广平台丨微商加粉推广平台丨微商拼团丨微商产品推广。

JS node 后端签名前端文件直传ali-oss解决方案

1&#xff1a;首先打开跨域 上面搞好了开始写代码 html <input type"file" id"upload" onchange"uploadfile()"> js function uploadfile() {var file document.getElementById(upload).files[0]$.ajax({url: /policy,data: ,type: get…

【MCAL】TC397+EB-treso之MCU配置实战 - 芯片时钟

本篇文章介绍了在TC397平台使用EB-treso对MCU驱动模块进行配置的实战过程&#xff0c;主要介绍了后续基本每个外设模块都要涉及的芯片时钟部分&#xff0c;帮助读者了解TC397芯片的时钟树结构&#xff0c;在后续计算配置不同外设模块诸如通信速率&#xff0c;定时器周期等&…

ubuntu下安装、卸载软件

2019独角兽企业重金招聘Python工程师标准>>> 安装&#xff1a;(1) apt-get install name 卸载&#xff1a;(1) apt-get remove name 卸载并清除配置&#xff1a;(1) apt-get remove --purge name 更新信息库&#xff1a;apt-get update 系统升级&#xff1a;apt-get…

英文版Ubuntu 安装中文输入法

一、安装语言包 &#xff08;系统默认会安装中文简体语言包&#xff09; System Settings-->Language Support-->Install/Remove Languages 二、安装IBUS框架 sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 三、安装中文引擎 Ibus 拼音&#xff1…

console使用

console.log用于控制台打印&#xff1b;但除此之外console还有很多用处 1.分组打印console.group(分组打印1-2)console.log(1);console.log(2);console.groupEnd()console.group(分组打印3-4)console.log(3);console.log(4);console.group(俄罗斯套娃)console.log(5);console.…

Linux平台上搭建apache+tomcat负载均衡集群

传统的Java Web项目是通过tomcat来运行和发布的。但在实际的企业应用环境中&#xff0c;采用单一的tomcat来维持项目的运行是不现实的。tomcat 处理能力低&#xff0c;效率低&#xff0c;承受并发小&#xff08;1000左右&#xff09;。当用户请求较少时&#xff0c;单一的tomca…

(转)C#中 DirectoryEntry组件应用实例

C#中 DirectoryEntry组件应用实例DirectoryEntry类封装Active Directory层次结构中的节点或对象&#xff0c;使用该类可以绑定到对象&#xff0c;或者读取和更新属性。图1所示为DirectoryEntry组件。DirectoryEntry组件1&#xff0e; 功能DirectoryEntry类封装Active Director…

【Linux学习】epoll详解

From: http://blog.csdn.net/xiajun07061225/article/details/9250579 什么是epoll epoll是什么&#xff1f;按照man手册的说法&#xff1a;是为处理大批量句柄而作了改进的poll。当然&#xff0c;这不是2.6内核才有的&#xff0c;它是在2.5.44内核中被引进的(epoll(4) is a …

Windows Server Backup 2012设置备份周期

Windows Server Backup 2012设置备份周期 作者&#xff1a;杨坚 Windows Server Backup 概述 Windows Server Backup 功能提供一组向导及其他工具&#xff0c;您可用来对服务器执行基本的备份和恢复任务。自首次发布 Windows Server 2008 以来&#xff0c;此功能已得到更新。另…

JSP作业1--5!

输出5的阶乘 <body> <!-- 5的阶乘--> <% int s1; for(int j1;j<6;j){ %> <%s*j; %><% }%> <br> 5的阶乘是&#xff1a; <%s %> 结果&#xff1a; 转载于:https://www.cnblogs.com/miss123/p/5611038.html

Yii Zii.widgets.Cmenu 操作

为什么80%的码农都做不了架构师&#xff1f;>>> $this->widget(zii.widgets.CMenu, array( activeCssClass>当前热点元素的样式, firstItemCssClass>第一个元素的样式, lastItemCssClass>最后一个元素的样式, encodeLable>false //這樣&#xff…

比较分析 Spring AOP 和 AspectJ 之间的差别

比较分析 Spring AOP 和 AspectJ 之间的差别 英文原文&#xff1a;Comparative Analysis Between Spring AOP and AspectJ 标签&#xff1a; AspectJ Spring158人收藏此文章, 我要收藏oschina 推荐于 3年前 (共 7 段, 翻译完成于 10-24) (19评) 参与翻译(2人)&#xff1a; bear…