Tag: osx elcapitan

OS X El Capitan上的SDL_image视觉故障

当尝试使用C中的Allegro 5或Python中的PyGame(都使用SDL)加载和显示位图时,它会产生一个小故障(见下面的截图)。 我尝试使用谷歌搜索它,发现它可能与OS X El Capitan的SDL_image不兼容有关,但没有解决方案。 任何人? 目前,我尝试过: 安装SDL_image 1.2.10(最新兼容版本)。 不! 通过自定义公式使用Homebrew安装SDL_image 1.2.10。 也没什么! 在屏幕截图中,那些随机像素应该是三个红砖位图。 顺便说一句,我正在使用这些函数分别加载和绘制位图: tileset[0] = al_load_bitmap(“./data/gfx/bricks.png”); al_draw_bitmap(tileset[0], pos_x, pos_y, 0);

DYLD_LIBRARY_PATH和DYLD_INSERT_LIBRARIES无法正常工作

我创建一个.dylib文件并编译它: #define _GNU_SOURCE #include #include static void* (*real_malloc)(size_t); void *malloc(size_t size) { void *p = NULL; fprintf(stderr, “malloc(%zd) = “, size); p = real_malloc(size); fprintf(stderr, “%p\n”, p); return p; } void __attribute((constructor))init() { real_malloc = (decltype(real_malloc))dlsym(RTLD_NEXT, “malloc”); if (NULL == real_malloc) { fprintf(stderr, “Error in `dlsym`: %s\n”, dlerror()); return; } } 然后我创建一个调用malloc的测试程序。 我确保对malloc的调用没有进行优化。 接下来我运行以下内容: DYLD_PRINT_LIBRARIES=1 […]

Mac OS X El Capitan可以运行为Yosemite编译的软件,它需要/ usr / gnu64 / lib中的库吗?

对不起,有一些必要的背景 – 您可以尝试跳到问题标题。 从远古时代开始(无论如何,在上一个千年的某个地方),我创建了诸如/usr/gnu和/usr/gcc来保存自定义编译的GNU软件,与系统目录中的任何内容分开。 这对我来说非常适用于各种基于Unix的系统,包括自2002年以来的Mac OS X(Jaguar,10.2)。 (不使用/usr/local一个原因是IT管理部门维护它,并且它总是包含过时的代码 – 例如,它在大约5年前就可以使用Perl 4。使用其他名称可以避免与它们一起运行。) 在Mac OS X 10.11 El Capitan中,Apple推出了SIP(系统完整性保护)系统(描述了El Capitan的“无根”function,真的是“Ask Different”)。 这意味着我不能再创建诸如/usr/gnu或/usr/gcc ,即使它们与Apple所拥有的任何内容脱节。 我发现之前在这些目录中的软件已被隔离在这些目录中(其中UUID在您的机器上会有所不同,我可能有两个因为将El Capitan放到这台机器上是一个多步操作 – 一个单独的长和无聊的故事): $ ls -1 /Library/SystemMigration/History/ Migration-7D74B534-AA54-4A4A-8DCC-A5C2F28E1A39 Migration-9C0FE7A4-3445-4BD6-A512-35464EECCBC3 $ 然后在QuarantineRoot下的子目录中: $ ls /Library/SystemMigration/History/Migration-9C0FE7A4-3445-4BD6-A512-35464EECCBC3/QuarantineRoot/usr: gcc gnu32 gnu64 $ 但是,二进制文件是使用GCC和各种库编译的,因此它们目前不运行。 例如: $ otool -L bison bison: /usr/gnu64/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0) /usr/gnu64/lib/libiconv.2.dylib […]