V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
whoisghost
V2EX  ›  问与答

如何在 macOS 上写 Linux 专用程序?

  •  
  •   whoisghost · 2019-02-17 23:20:21 +08:00 · 3129 次点击
    这是一个创建于 2133 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如程序要用到 Linux 的 sys/epoll.h,但是在 macOS 是没有 epoll 的,怎么获取 epoll 相关接口?又如何不让 IDE 提示 “ sys/epoll.h file not found ” 之类的提示?

    Append:
    最近在 macOS 看 redis 源代码,用 Clion 打开 ae_epoll.c 文件,出现一片红,为啥?
    5 条回复    2020-12-28 14:40:13 +08:00
    ysc3839
        1
    ysc3839  
       2019-02-18 05:27:41 +08:00 via Android
    在虚拟机里面写。
    有的 IDE 支持跨平台开发的,也可以使用这类 IDE 来写。可能是要 SSH 远程连接来写。
    neighbads
        2
    neighbads  
       2019-02-18 07:26:48 +08:00 via Android
    看代码 就把 usr/share/include 从 其他机器拷贝过来能找到就 ok 了,支持 linux 的 ide 基本也是这个原理
    hoyixi
        3
    hoyixi  
       2019-02-18 09:49:22 +08:00
    Mac 做 C/CPP 其实并不怎么好,各种库的问题很费时间。还是 Linux 舒服。

    另外那个 Homebrew 和 Macports,装一些程序,前者是用 Mac 自带的库,后者是单独装一份。
    前者不出问题的时候用起来很爽,体积也小,一旦编译一些东西出现库的版本兼容问题,马上蛋疼还不好解决,因为它用的是 Mac 系统的库,改都不好改;后者单独装一份库,缺点是体积大,维护起来费劲。
    williamx
        4
    williamx  
       2019-02-19 11:46:00 +08:00
    docker 啊
    zhuxingtongxue
        5
    zhuxingtongxue  
       2020-12-28 14:40:13 +08:00
    在根目录下的 CMakeLists.txt 文件,mac 环境不用编译以下文件:
    # src/ae_epoll.c
    # src/ae_select.c
    # src/ae_evport.c
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2733 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.