Mac OS X 下使用 Xcode 进行 Linux 平台开发

  2014-03-30 00:00:00 CST

  Jingwen Peng

  Linux Mac Xcode

Xcode-Welcome

作为一个 Xcode 的超级粉丝,这篇文章中我将介绍如何使用 Xcode 为 Linux 平台开发程序。 当然你也可以使用任意一个你喜欢的 IDE 来进行下面的尝试,远程开发的大致思想是通用的。

首先我的开发环境如下:Mac OS X 10.9.2,Xcode 5.1,CentOS 6.5 (当然所需要的开发环境已配置好且开发工具都已齐全)。

大致的想法是这样的,远程将 Linux Host 上的指定目录挂载到 Mac OS X 下,在挂载的目录中使用 Xcode 创建 Makefile 工程。之后编写用于远程编译的 shell 脚本,并在指定此脚本为 Makefile 工程的 Target。当代码编写完成后使用 run 调用 shell 脚本实现远程编译。

下面开始搭建远程开发环境。


准备工作

接下来将用到的工具如下:

OSXFuse

一款允许你使用第三方文件系统来扩展 OS X 的本地文件处理能力的软件,为 SSHFS 提供依赖。

SSHFS

提供通过 SSH 远程挂载目录到 Mac 的功能,挂载的目录在 Mac 上显示为外置磁盘。


挂载目录

sshfs 具体使用方法参见 man sshfs,这里给出我所用的命令。

1
$ sshfs PJW@YOUR_IP:/home/PJW/Documents/Xcode /Users/PJW/Desktop/LinuxHostXcode -o PubkeyAuthentication=yes

不可能每次都打这么长的命令,太辛苦,所以写成了脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

if [[ $1 == "mount" ]]; then
	mkdir /Users/PJW/Desktop/LinuxHostXcode
	sshfs PJW@YOUR_IP:/home/PJW/Documents/Xcode /Users/PJW/Desktop/LinuxHostXcode -o PubkeyAuthentication=yes

elif [[ $1 == "umount" ]]; then
	umount /Users/PJW/Desktop/LinuxHostXcode
	rmdir /Users/PJW/Desktop/LinuxHostXcode
else
    echo "Usage: sf mount/umount"
fi

exit 0

现在目录已挂载完毕。


配置 Xcode

开启 Xcode,“File -> New -> New Workspace” 新建工作区,直接新建在刚刚挂在过来的目录上。如下图

Empty-Project

然后把你的 Makefile 工程拖进来。

Drag-Project

之后编写一个shell脚本,用来登录你的 Linux 主机,并且同时切换目录进行 make,我的脚本如下

1
2
3
$ #!/bin/bash

ssh -i /Users/PJW/.ssh/YOUR_PRIVATE_RSA_KEY PJW@YOUR_IP 'cd /home/PJW/Documents/Xcode/Test ; make'

编辑 Xcode Scheme,使用刚才编写的脚本作为 Target 运行。

Edit-Xcode-Scheme


编辑、编译、运行

编写程序和 Makefile,然后 Command + R 来远程编译,然后使用 ssh 在命令行运行你的程序,当然你也可以直接在 Makefile 里面运行。

Build-Run

如果您有疑问或建议,请在下方评论区域留言

遵循 BY-NC-ND 协议

评论功能加载中...