GithubHelp home page GithubHelp logo

jelin-sh / jelin-dev Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 8 KB

This is an integrated development environment suitable for C/C++. The environment is based on Ubuntu 22.04 and comes with CMake 3.28.5, Conan 2.3.1, and an ARM cross-compilation toolchain. You can use it as your cross-compilation development environment or CI environment.

Home Page: https://blog.jelin-sh.com/archives/based-on-docker-s-c-z2rbvla

Dockerfile 54.96% Makefile 29.48% CMake 15.56%
c-plus-plus cmake conan docker

jelin-dev's Introduction

jelin-dev

众所周知,C/C++足够底层,以至于其跨平台特性也仅限于代码层面,只能通过使用不同的编译器编译才能实现多平台运行。所以它不像C#、Java、Python等编程语言有官方指定的包管理器,甚至连构建系统也五花八门。jelin-dev这个镜像挑选了业界主流的C/C++包管理器和构建系统,以及配备了我所涉及到需要交叉编译的工具链,如果您有特殊的需要,您可以自行添加相关环境,再进行构建和使用。

构建镜像

docker buildx build . -t jelin-dev/ubuntu22.04

使用镜像

docker run -itd -p 2201:22 --name test jelin-dev/ubuntu22.04:latest

使用建议

Tap1. Conan包管理数据持久化

在 jelin-dev 镜像中,我使用了 Conan 作为包管理器。建议您在创建容器时将 /root/.conan2 文件夹挂载到本地目录中。这些数据很重要,因为 Conan 会将已经下载和编译的库存放在这个文件夹内。如果没有做持久化,那么每次使用都将需要重新构建这些库。

Tap2. 使用CLion

CLion 是一个非常好用的 IDE,功能多样且灵活。它默认使用 CMake 进行构建,并且对 CMake 的支持比其他 IDE 都要强大,配置项目和管理变得非常轻松。除此之外,CLion 还提供了 Conan 插件,可以通过 GUI 方式配置依赖,使用体验非常棒。另外,CLion 对 Docker 的支持也是一大亮点。启动速度极快,几乎感觉不到延迟,使用起来非常顺畅。这些特性让 CLion 成为开发 C++ 项目的理想选择。

jelin-dev's People

Contributors

jelin-sh avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

mingyul

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.