{"id":15136870,"url":"https://github.com/jelin-sh/jelin-dev","last_synced_at":"2025-06-12T06:12:12.498Z","repository":{"id":241449694,"uuid":"806626162","full_name":"jelin-sh/jelin-dev","owner":"jelin-sh","description":"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.","archived":false,"fork":false,"pushed_at":"2024-07-10T08:39:45.000Z","size":8,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T17:03:13.276Z","etag":null,"topics":["c-plus-plus","cmake","conan","docker"],"latest_commit_sha":null,"homepage":"https://blog.jelin-sh.com/archives/based-on-docker-s-c-z2rbvla","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jelin-sh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-27T15:00:39.000Z","updated_at":"2025-03-31T08:16:06.000Z","dependencies_parsed_at":"2024-05-28T12:18:33.843Z","dependency_job_id":"84bb1a3a-d7fb-4e60-9f8f-fc2534eaa49c","html_url":"https://github.com/jelin-sh/jelin-dev","commit_stats":null,"previous_names":["jelin-sh/jelin-dev"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jelin-sh/jelin-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelin-sh%2Fjelin-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelin-sh%2Fjelin-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelin-sh%2Fjelin-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelin-sh%2Fjelin-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jelin-sh","download_url":"https://codeload.github.com/jelin-sh/jelin-dev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelin-sh%2Fjelin-dev/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259410176,"owners_count":22852975,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","cmake","conan","docker"],"created_at":"2024-09-26T06:41:39.278Z","updated_at":"2025-06-12T06:12:12.466Z","avatar_url":"https://github.com/jelin-sh.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jelin-dev\n\n众所周知，C/C++足够底层，以至于其跨平台特性也仅限于代码层面，只能通过使用不同的编译器编译才能实现多平台运行。所以它不像C#、Java、Python等编程语言有官方指定的包管理器，甚至连构建系统也五花八门。jelin-dev这个镜像挑选了业界主流的C/C++包管理器和构建系统，以及配备了我所涉及到需要交叉编译的工具链，如果您有特殊的需要，您可以自行添加相关环境，再进行构建和使用。\n\n**构建镜像**\n\n```bash\ndocker buildx build . -t jelin-dev/ubuntu22.04\n```\n\n**使用镜像**\n\n```bash\ndocker run -itd -p 2201:22 --name test jelin-dev/ubuntu22.04:latest\n```\n\n## 使用建议\n\n### Tap1. Conan包管理数据持久化\n\n在 jelin-dev 镜像中，我使用了 Conan 作为包管理器。建议您在创建容器时将 /root/.conan2 文件夹挂载到本地目录中。这些数据很重要，因为 Conan 会将已经下载和编译的库存放在这个文件夹内。如果没有做持久化，那么每次使用都将需要重新构建这些库。\n\n### Tap2. 使用CLion\n\nCLion 是一个非常好用的 IDE，功能多样且灵活。它默认使用 CMake 进行构建，并且对 CMake 的支持比其他 IDE 都要强大，配置项目和管理变得非常轻松。除此之外，CLion 还提供了 Conan 插件，可以通过 GUI 方式配置依赖，使用体验非常棒。另外，CLion 对 Docker 的支持也是一大亮点。启动速度极快，几乎感觉不到延迟，使用起来非常顺畅。这些特性让 CLion 成为开发 C++ 项目的理想选择。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelin-sh%2Fjelin-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjelin-sh%2Fjelin-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelin-sh%2Fjelin-dev/lists"}