最近碰到一个问题,想要测试一些 c++的开源组件,但是本身的电脑是 MacBook 但是又不想安装虚拟机
经过几轮的测试和研究基本搞定,记录下来 。
思路是,首先在 Mac OSX上的执行文件规范和 Linux上的执行文件规范是不一样的
所以想要达到的效果是,开发是在mac的漂亮的 ide去开发,但是 编译和debug,run 扔到Linux里头
按照以下顺序
注意:make等项目在网上可以查到很多,以下是 利用 cmake的时候的案例
1: 安装 mac 版本的 docker
2:安装 netbenas
3:在docker的 linux的image 上配置cmake的编译环境
1) docker上pull 一个 ubuntu的image (docker pull ubuntu)
2) 创建一个gcc编译环境
1.docker run -it ubuntu:latest bin/bash (按照pull下来的ubuntun版本自己设置)
2.安装 gcc,g++,wget,vim,cmake,openssh-server
3.添加一个开发用户(最好一起创建相应的home下面的文件夹,以便netbeans remote部分中使用)
3) docker commit 上面创建的实例
4:启动一个上面生成的 docker cmake image 环境
docker run -it --name='netbeans-builder' -p 4002:22 \
-v Users/a-user/a-project:/home/user/a-project \
-d cmake-builder/ssh:170614 \ //cmake-builder/ssh:170614 是本人commit的 docker image
/etc/init.d/ssh start -D
5:配置netbeans的service部分
创建一个 ssh链接的build 环境,重要的选择文件夹共享部分上,可以选择 smb或者是ssh的copy部分
在这里选择smb的nfs等共享文件夹形式
6:被mapping 的本地项目文件中创建 cmake project文件
1.创建 CMakeLists.txt文件
2.写一个 main.cpp文件
3.写一个build.sh文件
7:引入6中创建的项目文件夹
select configruation mode里头选择Custom
8.BuildHost 选择自己的 docker instance
9.创建项目之后重要的是在 项目的properties中找到 build部分去 在make部分上启用自己的 build.sh文件
以上