新建用户
代码语言:txt复制adduser swift
usermod -aG sudo swift
下载
代码语言:txt复制wget https://download.swift.org/swift-5.6-release/ubuntu2004/swift-5.6-RELEASE/swift-5.6-RELEASE-ubuntu20.04.tar.gz
代码语言:txt复制$ apt-get install
binutils
git
gnupg2
libc6-dev
libcurl4
libedit2
libgcc-9-dev
libpython2.7
libsqlite3-0
libstdc -9-dev
libxml2
libz3-dev
pkg-config
tzdata
uuid-dev
zlib1g-dev
验证
- 下载 GPG, 导出密钥
$ wget -q -O - https://swift.org/keys/all-keys.asc |
gpg --import -
- 吊销已有 GPG,更新密钥
$ gpg --keyserver hkp://pool.sks-keyservers.net --refresh-keys Swift
- 下载 SIG 文件, 签名文件
wget https://download.swift.org/swift-5.6-release/ubuntu2004/swift-5.6-RELEASE/swift-5.6-RELEASE-ubuntu20.04.tar.gz.sig
- 验证 签名
$ gpg --verify swift-5.6-RELEASE-ubuntu20.04.tar.gz.sig
- 成功
gpg: Good signature from "Swift 5.x Release Signing Key <swift-infrastructure@swift.org>" [unknown]
解压安装包
代码语言:txt复制$ tar xzf swift-5.6-RELEASE-ubuntu20.04.tar.gz
添加环境变量
- 永久添加环境变量
$ sudo mv swift-5.6-RELEASE-ubuntu20.04 /opt
- 重建链接
sudo rm /opt/swift
sudo ln -s /opt/swift-5.6-RELEASE-ubuntu20.04 /opt/swift
代码语言:txt复制$ vim ~/.bashrc
export PATH=/opt/swift/usr/bin:${PATH}
- 或者
echo "export PATH=/opt/swift/usr/bin:$PATH" >> ~/.bashrc
- 刷新
source ~/.bashrc
查看版本
代码语言:txt复制swift --version
运行期间查找动态库
LD_LIBRARY_PATH
代码语言:txt复制主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径。即用于在程序运行期间查找动态链接库时,指定除了系统默认路径(/usr/lib)之外的路径.
export LD_LIBRARY_PATH=/opt/swift/usr/lib:${LD_LIBRARY_PATH}
Centos 的问题
# __block conflicts with clang's __block qualifier
sed -i -e 's/\*__block/\*__libc_block/g' /usr/include/unistd.h
编译期间查找动态库
LIBRARY_PATH
代码语言:txt复制LIBRARY_PATH是在程序编译期间查找动态链接库时指定的查找共享库的路径。
指定gcc编译需要链接动态链接库的目录。设置libtest1和libtest2目录
export LIBRARY_PATH=libtest1:libtest2:$LIBRARY_PATH