C++ 在Mac OS上编译以Linux为中心的项目时出现问题

C++ 在Mac OS上编译以Linux为中心的项目时出现问题,c++,linux,macos,gcc,clang,C++,Linux,Macos,Gcc,Clang,我试图在Mac OS(10.8.5)上编译“”。这是一个C++项目,它在Ubuntu Linux上编译得很好。 错误是: kernel\u prng\u io.cpp:13:23:错误:asm/types.h:没有这样的文件或目录 kernel_prng_io.cpp:15:26:错误:linux/random.h:没有这样的文件或目录 将这两个文件中的include更改为“sys/types.h”和“sys/random.h”会解决文件未找到的错误,但会创建其他错误:“error:'RNDGE

我试图在Mac OS(10.8.5)上编译“”。这是一个C++项目,它在Ubuntu Linux上编译得很好。 错误是: kernel\u prng\u io.cpp:13:23:错误:asm/types.h:没有这样的文件或目录 kernel_prng_io.cpp:15:26:错误:linux/random.h:没有这样的文件或目录

将这两个文件中的include更改为“sys/types.h”和“sys/random.h”会解决文件未找到的错误,但会创建其他错误:“error:'RNDGETENTCNT'未在此范围内声明”,我认为这意味着这些include文件的版本不正确

我在这里发现了一个类似的问题:但是那里的建议都不适合我。。。我有一个更高版本的叮当声

我已经安装并更新了Xcode命令行工具。GCC&G++与CLANG有符号链接,版本为Apple LLVM 5.0版(CLANG-500.2.76)。我有自制的,我已经安装了最新的GCC,但我不知道如何修改Entropy Broker Makefile以确保它使用GCC而不是CLANG

如果有人有什么建议,我会非常感激。
谢谢

其中包括特定于Linux的文件。你在Mac OS X上找不到它们。
sys/random.h
linux/random.h
sys/types.h
不等同于
sys/types
。实际上,您需要将特定于Linux的代码移植到MacOSX或某种POSIX标准,而不是机械地替换include文件名。你发现的问题与这个问题完全无关。这是操作系统的问题,不是编译器的问题。@n.m.您应该将其升级为一个答案,这样它才能被接受。谢谢您的回复。我不得不承认我有点惊讶,因为我试图编译的文件被描述为独立于平台,可以在BSD和Mac OS上使用。