我正在尝试在我的Ubuntu 14上编译这个src:https://github.com/Bohdan-Khomtchouk/HeatmapGenerator/blob/master/HeatmapGenerator2_Macintosh_OSX.cxx。
要编译此源代码,请执行:fltk-config --use-images --use-gl --compile HeatmapGenerator2_Macintosh_OSX.cxx
但是,我检索到以下错误:
HeatmapGenerator2_Macintosh_OSX.cxx:52:25: fatal error: mach-o/dyld.h:
No such file or directory
#include <mach-o/dyld.h>
^
compilation terminated.
我调查了http://ubuntuforums.org/showthread.php?t=1623945,但这无助于解决我的问题。
Ubuntu中#include <mach-o/dyld.h>
不是有效的预处理程序指令吗?在互联网上似乎很少有人写这篇文章。也许它是一个Apple特定的库,可能不包含在Ubuntu中?
非常感谢有关如何绕过此错误并成功生成二进制可执行文件的任何建议。
修改:
当我注释掉#include <mach-o/dyld.h>
预处理程序指令时,我收到以下错误:
HeatmapGenerator_Macintosh_OSX.cxx:568:13: error: use of undeclared identifier
'_NSGetExecutablePath'
if (_NSGetExecutablePath(path, &size) == 0)
有没有办法在不使用此预处理程序指令的情况下绕过此错误? _NSGetExecutablePath
仅在src中使用过一次,也许存在替代...
答案 0 :(得分:1)
源代码只是简单地在Linux下编译,因为它的设计目的是使用OSX的drwxrwsr-x 69 mysite1ftp group 4096 Jul 9 09:12 mysite1.com
drwxrwsr-x 44 mysite2ftp group 4096 Jul 8 16:53 mysite2.com
drwxrwsr-x 5 mysite1ftp group 4096 Jul 2 11:15 wordpress
(动态加载器)而不是Linux的动态加载器。
可能的解决方案: