V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JohnXu20151211
V2EX  ›  C++

求问 C++一个问题

  •  
  •   JohnXu20151211 · 2021-12-13 15:19:27 +08:00 · 3421 次点击
    这是一个创建于 1083 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问各位大佬,C++一般是不是都是 linux 上开发?不太适合 Mac 上开发呢? 我看为什么很多都是 Linux 上作为运行环境,如果 Mac 的话怎么开发 C++呢?有些项目本身不支持在 Mac 上运行编译,这个总不能再装个 linux 系统吧。另外哪位仁兄有 C++的群,麻烦拉我下啊

    19 条回复    2021-12-14 16:22:29 +08:00
    ipwx
        1
    ipwx  
       2021-12-13 15:25:17 +08:00
    1. 虽然原则上在 mac 上开发 linux 上运行的 c++ 也不是不行。
    2. 但是最方便的还是在对应平台上开发,不然断点调试麻烦。
    3. 所以你可以买一台比如,联想
    whenov
        2
    whenov  
       2021-12-13 15:37:59 +08:00
    什么叫不支持在 Mac 上运行编译
    newmlp
        3
    newmlp  
       2021-12-13 15:47:29 +08:00
    在哪开发取决于项目运行环境
    coderluan
        4
    coderluan  
       2021-12-13 15:49:42 +08:00
    远程开发 /虚拟机 /docker 喽。
    patrickl
        5
    patrickl  
       2021-12-13 15:52:21 +08:00
    我最近使用 mac 学习 c++遇到的几个坑:
    1 、公司某个项目用到了 c++20 的特性,但是 apple-clang 还不支持。
    2 、为了解决问题 1 ,在 mac 安装了 g++,但是使用的包管理工具 conan 不提供 macos+gcc 版本的包,也没法自己编译
    3 、某些 ubuntu 上正常的包,在 mac 上死活不能正常使用,比如:gettext 。(当时可能是我太菜

    我的解决方案:换了台电脑装了 ubuntu ,一气呵成,爽的飞起。也可以 ubuntu docker 搭建开发环境,但是上传下载文件麻烦。
    cclin
        6
    cclin  
       2021-12-13 15:57:15 +08:00 via Android
    公司有服务器 在本地写代码 ssh 上去编译
    dollar
        7
    dollar  
       2021-12-13 16:58:20 +08:00 via iPhone
    开发环境要和线上环境(操作系统、发行版、系统版本)保持一致,这样最省心
    wangxn
        8
    wangxn  
       2021-12-13 17:00:54 +08:00 via Android
    啥环境都可以,C++是个完全跨平台的语言
    buffzty
        9
    buffzty  
       2021-12-13 20:02:43 +08:00
    只要 idea 系统支持的系统都可以开发 c++. clion 本地编码 远程运行
    darklinden
        10
    darklinden  
       2021-12-13 21:04:21 +08:00 via iPhone
    现在 vs code + docker 远程编写都行,运行环境配好 sdk 交叉编译,远程调试也行。配环境 macOS 上 home brew 比较全,不建议 M1 但是 M1 也能用。其实最方便的还是用好 docker ,干嘛都行
    l00t
        11
    l00t  
       2021-12-13 22:49:15 +08:00
    连到服务器上开发不就行了……
    hand515
        12
    hand515  
       2021-12-13 23:32:45 +08:00
    用 M1 开发,默认就要有个 X86 的远程机器
    kilasuelika
        13
    kilasuelika  
       2021-12-14 00:24:03 +08:00 via Android
    g++可以自己编译。
    我一直都是自己编译的。
    yolee599
        14
    yolee599  
       2021-12-14 09:01:17 +08:00 via Android
    在哪个平台运行就在哪个平台编译,也可以在不同平台交叉编译,比如嵌入式,在 x86 平台用交叉编译器编译,在 arm 平台运行
    besto
        15
    besto  
       2021-12-14 09:20:28 +08:00
    啥玩意?是 CMake 这一套不能跑了,还是 meson+ninja 这套不能跑了?
    @hand515 M1 刚出来的时候 meson 和 CMake 都有 bug ,会试图 link x86_64 的 dylib ,不过 Mac OS 12 之后已经好了。
    agagega
        16
    agagega  
       2021-12-14 11:26:11 +08:00
    C++在几乎所有平台( Windows/Linux/macOS/iOS/Android/...)都是一等公民,不是亲儿子至少也是个干儿子
    ink19
        17
    ink19  
       2021-12-14 14:02:25 +08:00
    @patrickl 用 C++20 特性有点离谱了吧
    xQmQ
        18
    xQmQ  
       2021-12-14 14:52:32 +08:00
    开发公司的 C++ 项目,最后部署到服务器上,找公司配远程环境吧

    我还在学校里,一般是 CLion 和 vscode 搭配 WSL 的 Linux 编译工具。mac 的话应该可以 docker 吧
    patrickl
        19
    patrickl  
       2021-12-14 16:22:29 +08:00
    @ink19 小项目,有同事就直接尝鲜了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:09 · PVG 18:09 · LAX 02:09 · JFK 05:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.