Tag: osx mountain lion

如何处理MacOS / X 10.8.x中弃用的Carbon函数?

我有一个C ++代码库已经存在了一段时间(10年以上)并且它编译并运行良好,但我注意到当我在OS / X 10.8.x(Mountain Lion)下编译它时,编译器会发出关于的弃用警告它调用的一些Carbon函数: ../system/SetupSystem.cpp:575:44: warning: ‘UpTime’ is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] ../system/SetupSystem.cpp:575:22: warning: ‘AbsoluteToNanoseconds’ is deprecated: first deprecated in OS X 10.8 [-Wdeprecated-declarations] ../system/SystemInfo.cpp:249:25: warning: ‘MPProcessors’ is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] 我想将这个代码库升级到Apple批准的新方式(因此,如果/当Apple最终删除这些function时,避免警告和未来的痛苦),但我无法弄清楚新标准是什么。 我查看了developer.apple.com上的OS / X文档,但是我的搜索技能缺乏或者他们的文档都没有,因为我几乎找不到这些函数,也没有关于它们的替换。 我有的具体问题: 为什么不推荐使用这些function? 我应该打电话给哪些function? 是否有一些我不知道的秘密文档存储库会为我回答这些问题?

编译简单的hello world ZeroMQ C例子,编译标志?

尝试从zeromq教程编译示例hello_world.c:http://zguide.zeromq.org/page:all #Ask-and-Ye-Shall-Receive很确定我已经在OSX Mountain Lion中安装了所有内容。 clang -Wall hwserver.c -o hwserver 给我一个错误: Undefined symbols for architecture x86_64: “_zmq_bind”, referenced from: _main in hwserver-OgrEe6.o “_zmq_ctx_new”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_close”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_data”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_init”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_init_size”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_recv”, referenced from: _main […]

“X11 / Xlib.h”:mac os x mountain lion上没有这样的文件或目录

当我编写一个简单的程序时,我遇到了这个: #include #include #include Display* display; int main(){ display = XOpenDisplay(“”); if (display == NULL) { printf(“Cannot connect\n”); exit (-1); } else{ printf(“Success!\n”); XCloseDisplay(display); } } 仅供参考,我安装了xQuartz。 我用“g ++ -o ex ex.cpp -L / usr / X11R6 / lib -lX11”命令编译该程序。

Valgrind报告在OS X 10.8.1上泄露了内存

我在OS X 10.8.1,Mountain Lion上使用Valgrind版本3.8.0。 关于与10.8.1的兼容性, Valgrind的网站说(italics mine): Valgrind 3.8.0适用于 {x86,amd64} -darwin(Mac OS X 10.6和10.7,支持10.8)。 那么,我知道10.8.1只有“有限的支持”。 尽管如此, 这个错误报告说(斜体矿): 这个(最新的3.8.0版本)使Valgrind编译并能够在OSX 10.8上运行小程序。 但请注意,它仍然使用更大的应用程序断言,并且根本没有正确检查32位程序(Memcheck错过了大多数错误)。 好没关系。 因此,如果气质,Valgrind应该在10.8.1上工作。 所以现在我的问题是: 我能够在没有任何问题的情况下让Valgrind在10.8.1上编译,但是当我在几个小C程序上运行它时,我看到了一些奇怪的结果。 为了尝试减少问题的可能原因,我最终编写了以下“程序”: int main () { return 0; } 我会说,不是很令人兴奋,而且很少有漏洞。 然后,我编译并通过Valgrind运行它: gcc testC.c valgrind ./a.out 这是我的输出: ==45417== Command: ./a.out ==45417== ==45417== WARNING: Support on MacOS 10.8 is experimental and mostly broken. ==45417== […]