whoisghost
V2EX  ›  问与答

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

  •  
  •   whoisghost · Feb 17, 2019 · 3823 views
    This topic created in 2640 days ago, the information mentioned may be changed or developed.
    比如程序要用到 Linux 的 sys/epoll.h,但是在 macOS 是没有 epoll 的,怎么获取 epoll 相关接口?又如何不让 IDE 提示 “ sys/epoll.h file not found ” 之类的提示?

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

    另外那个 Homebrew 和 Macports,装一些程序,前者是用 Mac 自带的库,后者是单独装一份。
    前者不出问题的时候用起来很爽,体积也小,一旦编译一些东西出现库的版本兼容问题,马上蛋疼还不好解决,因为它用的是 Mac 系统的库,改都不好改;后者单独装一份库,缺点是体积大,维护起来费劲。
    williamx
        4
    williamx  
       Feb 19, 2019
    docker 啊
    zhuxingtongxue
        5
    zhuxingtongxue  
       Dec 28, 2020
    在根目录下的 CMakeLists.txt 文件,mac 环境不用编译以下文件:
    # src/ae_epoll.c
    # src/ae_select.c
    # src/ae_evport.c
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   999 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 22:16 · PVG 06:16 · LAX 15:16 · JFK 18:16
    ♥ Do have faith in what you're doing.