返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >十分钟在 macOS 快速搭建 Linux C/C++ 开发环境
  • 689
分享到

十分钟在 macOS 快速搭建 Linux C/C++ 开发环境

linuxmacosc语言c++docker 2023-08-31 13:08:34 689人浏览 薄情痞子
摘要

有一个使用了 Epoll 的 C 项目,笔者平时用的 linux 主力开发机不在身边,想在 MacOS 上开发调试,但是没有 Linux 虚拟机。恰好,JetBrains CLion 的 Toolch

有一个使用了 Epoll 的 C 项目,笔者平时用的 linux 主力开发机不在身边,想在 MacOS 上开发调试,但是没有 Linux 虚拟机。恰好,JetBrains CLion 的 Toolchains 配置除了使用本地环境,还支持 sshDocker

笔者使用 CLion + Docker Desktop,不到十分钟就能在 macOS 上搭建一个能够开发使用 Linux 类库的 C 项目的开发环境,而且具备不错的开发体验。

文章目录

准备 Docker 环境

macOS 使用 Docker Desktop 即可,本文不赘述。
当然,Docker 环境也可以不在本地,可以通过 tcp 或者 SSH 连接非本地 Docker 环境。

在这里插入图片描述

构建一个包含项目所需依赖的 Image

准备 Dockerfile 并安装所需依赖

笔者的主力开发机是 ubuntu 22.04,选择相同的系统作为基础镜像。
镜像构建按照项目所需依赖即可。以下是搭建一个最基本的 C/C++ 环境的 Dockerfile。

FROM ubuntu:22.04MAINTAINER wuweijie@apache.orgRUN apt update && apt install -y cmake g++ gdb

提示:如果所在环境无法加速访问 Ubuntu 官方 apt 源,建议使用国内 apt 源。

将 sources.list 覆盖基础镜像中原有的 sources.list。

FROM ubuntu:22.04MAINTAINER wuweijie@apache.orgARG TARGETARCHCOPY $TARGETARCH/sources.list /etc/apt/sources.listRUN apt update && apt install -y cmake g++ gdb

构建 x86/64 架构的环境可以使用以下 sources.list

deb Http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

构建 aarch64 及其他架构的环境可以使用以下 sources.list

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse

构建 Image

>>> docker build -t teslacn/cmake:1.0 .[+] Building 16.4s (8/8) FINISHED                 => [internal] load build definition from Dockerfile                    0.0s => => transferring dockerfile: 37B         0.0s => [internal] load .dockerignore           0.0s => => transferring context: 2B             0.0s => [internal] load metadata for docker.io/library/ubuntu:22.04        16.3s => [1/3] FROM docker.io/library/ubuntu:22.04@sha256:f154feaf13b51d16e  0.0s => [internal] load build context           0.0s => => transferring context: 65B            0.0s => CACHED [2/3] COPY arm64/sources.list /etc/apt/sources.list          0.0s => CACHED [3/3] RUN apt update && apt install -y cmake g++ gdb         0.0s => exporting to image                      0.0s => => exporting layers                     0.0s => => writing image sha256:b4ad8d6c3284e79dedcf8c628b1a89c0bb59d29000  0.0s => => naming to docker.io/teslacn/cmake:1.00.0s

CLion 配置 Toolchains

Toolchains 添加 Docker 环境

选择构建好的镜像即可,CLion 会自动检测构建工具、编译器、GDB 版本。
在这里插入图片描述

CMake 项目选择刚才添加的 Docker Toolchain

在这里插入图片描述

开发体验

头文件导航

CLion 自动将容器中的 Linux 头文件缓存在了本地,从代码中能够直接导航到 sys/epoll.h 文件,使用起来和直接在 Linux 环境开发没有区别。
在这里插入图片描述

直接运行

与平时本地运行相比完全没有差异。
在这里插入图片描述

调试运行

调试运行发现,除了程序的日志没有打出到 stdout 以外,其他调试功能和本地调试完全没有差异。

在这里插入图片描述

在这里插入图片描述

以上即环境搭建的过程与结果。

【更新】CLion Debug 控制台没有日志

解决方法:

setbuf(stdout, 0);

https://stackoverflow.com/questions/47776094/clion-wont-show-output-in-debug

来源地址:https://blog.csdn.net/wu_weijie/article/details/130142115

--结束END--

本文标题: 十分钟在 macOS 快速搭建 Linux C/C++ 开发环境

本文链接: https://lsjlt.com/news/385706.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 十分钟在 macOS 快速搭建 Linux C/C++ 开发环境
    有一个使用了 Epoll 的 C 项目,笔者平时用的 Linux 主力开发机不在身边,想在 macOS 上开发调试,但是没有 Linux 虚拟机。恰好,JetBrains CLion 的 Toolch...
    99+
    2023-08-31
    linux macos c语言 c++ docker
  • 使用 VS Code 快速搭建 ESP-IDF 开发环境 (Windows、Linux、MacOS)
    ESP-IDF 是乐鑫官方的物联网开发框架,适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序,并集成了大量的软件...
    99+
    2023-09-17
    乐鑫科技 ESP-IDF VS Code 开发环境搭建
  • 教你快速搭建ReactNative开发环境
    React Native 官网地址:https://www.reactnative.cn/docs/environment-setup 开发平台 Windows 目标平台 Andro...
    99+
    2024-04-02
  • 如何搭建C++开发环境
    本篇内容主要讲解“如何搭建C++开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建C++开发环境”吧!1.我们先来看看内联函数给我们带来的好处:从一个用户的角度来看,内联函数看起来和...
    99+
    2023-06-17
  • Linux下C语言开发环境怎么搭建
    小编给大家分享一下Linux下C语言开发环境怎么搭建,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Gedit 编辑器在 Linux 下,很多程序员都推崇使用 Vi...
    99+
    2023-06-28
  • 快速掌握使用Docker搭建开发环境
    随着平台的不断壮大,项目的研发对于开发人员而言,对于外部各类环境的依赖逐渐增加,特别是针对基础服务的依赖。这些现象导致开发人员常常是为了简单从而直接使用公有的基础组件进行协同开发,在...
    99+
    2024-04-02
  • 如何快速搭建一个Java开发环境
    如何快速搭建一个Java开发环境?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java开发环境配置(win7-64bit)1.概述搭建Java开发环境一般需要同...
    99+
    2023-05-31
    java ava
  • 如何快速搭建一个Android开发环境
    这篇文章将为大家详细讲解有关如何快速搭建一个Android开发环境,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、安装JDK安装JavaJDK的路径:C:\Java\jdk1.7.0_80...
    99+
    2023-05-31
    android roi
  • 如何在CLion中搭建一个C++开发环境
    如何在CLion中搭建一个C++开发环境?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.下载MinGW-W64 GCC下载地址:MinGW-w64 - for...
    99+
    2023-06-06
  • Windows下快速搭建安卓开发环境Android studio
    一、Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境)。它基于Intell...
    99+
    2022-06-06
    Android Studio studio windows Android
  • ubuntu如何搭建c语言开发环境
    要在Ubuntu上搭建C语言开发环境,您可以按照以下步骤进行操作:1. 安装编译器:打开终端,运行以下命令安装gcc编译器和make...
    99+
    2023-08-29
    ubuntu c语言
  • Android开发入门环境快速搭建实战教程
    这篇文章主要为大家展示了“Android开发入门环境快速搭建实战教程”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发入门环境快速搭建实战教程”这篇文章吧。方法如下:在开始之前,我...
    99+
    2023-05-30
    android
  • Golang开发环境快速搭建:详解高效方法
    快速上手Golang开发:详解一套高效的环境搭建方法 在当今软件开发领域中,Golang(也称为Go)因其高效、简洁、强大的特性而备受关注。作为一门开源编程语言,Go在Google公司开发的过程中积累了丰富的...
    99+
    2024-01-29
  • C#之ArcGIS二次开发环境怎么搭建
    要搭建C#的ArcGIS二次开发环境,需要按照以下步骤进行操作:1. 安装ArcGIS for Desktop软件:访问官方网站(h...
    99+
    2023-10-20
    C#
  • Go语言+Linux容器:如何快速搭建高效的开发环境?
    Go语言 Linux容器:如何快速搭建高效的开发环境? 随着云计算的快速发展,容器技术越来越受到开发者的青睐。Linux容器是一种轻量级的虚拟化技术,它可以在一个操作系统内部创建多个隔离的用户空间,每个用户空间拥有自己的应用程序和运行环境。...
    99+
    2023-09-17
    容器 对象 linux
  • 从零开始,快速搭建你的Golang开发环境指南
    Golang开发环境搭建指南:从零开始,轻松构建你的开发环境 引言: Golang是一门简单、高效、可靠的编程语言,由谷歌开发,逐渐成为许多开发者喜爱的选择。搭建一个良好的开发环境是进行Golang开发的必要...
    99+
    2024-01-29
    Golang 开发环境 环境搭建
  • 如何在Linux环境中搭建Java分布式索引的开发环境?
    在Linux环境中搭建Java分布式索引的开发环境是一个非常重要的任务,因为这样可以帮助开发者更好地进行分布式索引的开发工作。本文将介绍如何在Linux环境中搭建Java分布式索引的开发环境,帮助读者更好地进行分布式索引开发。 安装Jav...
    99+
    2023-08-24
    分布式 索引 linux
  • 用Shell脚本快速搭建Ubuntu下的Nodejs开发环境
    nodejs的确是很火,以前倒腾过,但是从来没有认真记录下什么。在ubuntu下搭建它的开发环境尝尝鲜,有一个捷径,它能让系统自动帮你安装所需要的东西,我们生成一段shell脚本,让它来完成以下工作: 安装...
    99+
    2022-06-04
    脚本 快速 环境
  • 如何使用Docker快速搭建多版本PHP开发环境
    本篇内容主要讲解“如何使用Docker快速搭建多版本PHP开发环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Docker快速搭建多版本PHP开发环境”吧!目标支持 PHP 5.6.x...
    99+
    2023-07-04
  • Vscode搭建远程c开发环境的图文教程
    目录基础环境远程开发套件建立c文件配置编译任务开始编译开始调试注意参考资料基础环境 目标机:ubuntu20 开发机:win10、mac 安装 远程开发套件 本机...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作