求问 C++一个问题

2021-12-13 15:19:27 +08:00
 JohnXu20151211

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

3435 次点击
所在节点    C++
19 条回复
ipwx
2021-12-13 15:25:17 +08:00
1. 虽然原则上在 mac 上开发 linux 上运行的 c++ 也不是不行。
2. 但是最方便的还是在对应平台上开发,不然断点调试麻烦。
3. 所以你可以买一台比如,联想
whenov
2021-12-13 15:37:59 +08:00
什么叫不支持在 Mac 上运行编译
newmlp
2021-12-13 15:47:29 +08:00
在哪开发取决于项目运行环境
coderluan
2021-12-13 15:49:42 +08:00
远程开发 /虚拟机 /docker 喽。
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
2021-12-13 15:57:15 +08:00
公司有服务器 在本地写代码 ssh 上去编译
dollar
2021-12-13 16:58:20 +08:00
开发环境要和线上环境(操作系统、发行版、系统版本)保持一致,这样最省心
wangxn
2021-12-13 17:00:54 +08:00
啥环境都可以,C++是个完全跨平台的语言
buffzty
2021-12-13 20:02:43 +08:00
只要 idea 系统支持的系统都可以开发 c++. clion 本地编码 远程运行
darklinden
2021-12-13 21:04:21 +08:00
现在 vs code + docker 远程编写都行,运行环境配好 sdk 交叉编译,远程调试也行。配环境 macOS 上 home brew 比较全,不建议 M1 但是 M1 也能用。其实最方便的还是用好 docker ,干嘛都行
l00t
2021-12-13 22:49:15 +08:00
连到服务器上开发不就行了……
hand515
2021-12-13 23:32:45 +08:00
用 M1 开发,默认就要有个 X86 的远程机器
kilasuelika
2021-12-14 00:24:03 +08:00
g++可以自己编译。
我一直都是自己编译的。
yolee599
2021-12-14 09:01:17 +08:00
在哪个平台运行就在哪个平台编译,也可以在不同平台交叉编译,比如嵌入式,在 x86 平台用交叉编译器编译,在 arm 平台运行
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
2021-12-14 11:26:11 +08:00
C++在几乎所有平台( Windows/Linux/macOS/iOS/Android/...)都是一等公民,不是亲儿子至少也是个干儿子
ink19
2021-12-14 14:02:25 +08:00
@patrickl 用 C++20 特性有点离谱了吧
xQmQ
2021-12-14 14:52:32 +08:00
开发公司的 C++ 项目,最后部署到服务器上,找公司配远程环境吧

我还在学校里,一般是 CLion 和 vscode 搭配 WSL 的 Linux 编译工具。mac 的话应该可以 docker 吧
patrickl
2021-12-14 16:22:29 +08:00
@ink19 小项目,有同事就直接尝鲜了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX