草庐IT

c++ - 真的有类似 Objective C++ 的东西吗?

我正在阅读post关于iPhone编程,我注意到关于ObjectiveC++的讨论,帖子中显示的代码主要看起来像Objective-C,但也有一些C++代码片段。真的可以从C++编写Cocoa程序吗? 最佳答案 除了其他评论之外,我还要补充一点,Objective-C++与“从C++编写Cocoa程序”并不完全相同,因为不涉及C++到Cocoa的桥梁。在Objective-C++中,您可以完全使用Objective-C对象/语法对CocoaAPI进行编程。CocoaAPI保持不变,因此您需要以相同的方式与它通信(使用Objectiv

c++ - 包含在 MacOS 上使用 g++ 编译时未找到的路径

我正在尝试在MacOS10.6上编译最简单的程序,例如:$g++-ohellohello.cpp以下来源:#includeintmain(intargc,char*constargv[]){std::cout我收到错误:hello.cpp:1:20:error:iostream:Nosuchfileordirectoryhello.cpp:Infunction‘intmain(int,char*const*)’:hello.cpp:4:error:‘cout’isnotamemberof‘std’很明显我必须在某处添加包含路径。我的问题是在哪里我可以找到包含目录以及如何可以全局添加它们

c++ - 在用户上下文中从守护进程启动代理

我有一个在MacOSX10.6机器的登录上下文中运行的启动守护程序。我想从该代理为每个用户启动一个代理,并让该代理在用户的登录上下文中运行。但是,我需要非常小心地控制代理应用程序的精确参数,这就是为什么我不能使用launchd代理,就像我在守护程序中使用的那样。如何创建在登录用户的上下文中运行的进程?我已经验证了seteuid和setuid调用,但它们不会更改代理应用程序的执行上下文。我知道这不是推荐的Apple做事方式,但我真的没有选择-守护程序应用程序的设计非常不灵活(它必须在许多不同的系统上运行).是否有一种解决方法允许我从在登录上下文中运行的守护程序在已登录用户的GUI上下文中

c++ - Mac OS 上的 Qt - 检测停靠菜单上的点击

我正在删除我的应用程序的MacOS版本的系统托盘图标。但是有一个小问题:当用户关闭主窗口时,应用程序应该继续在后台运行,如果用户单击停靠图标,主窗口应该再次可见。到目前为止,我还没有找到拦截图标点击的方法。有什么方法可以用Qt完成这个吗?如果不是,我应该如何使用nativeAPI来实现此行为?我试图创建一个实现QApplication的自定义应用程序类,以便我可以重新实现macEventFilter,但是关于此函数的文档很少。应用程序.h:#ifndefAPPLICATION_H#defineAPPLICATION_H#includeclassQWidget;classApplicat

c++ - 部署使用 GCC 4.6 编译的 OSX 应用程序

我正在尝试在MacOS-X上移植我的一个项目。当我使用C++0X开发我的项目时,我需要一个比Xcode提供的版本更新的GCC版本(甚至是Xcode4),所以我在我的SnowLeopardsMac上编译了GCC4.6。我的项目确实可以正常编译,它也可以在我编译它的计算机(OS-X10.6.7)上启动,但是当我将它传输到我的MacBook(OS-X10.5.8)时它不起作用。它返回以下错误:dyld:lazysymbolbindingfailed:Symbolnotfound:__ZNSo9_M_insertImEERSoT_Referencedfrom:/Users/zu/Desktop

c++ - gdb 7.5.1 调试通过 g 4.7.2 构建的可执行文件的问题

我一直在更新我的Mac工具链,以便利用C++11功能并最终获得STL数据结构的pretty-print调试。我使用Homebrew构建了gcc4.7.2编译器。我已经能够使用这个新的编译器重新编译我当前项目的源代码。然而,我尝试过的所有版本的gdb在设置断点、查看源代码或查看局部变量时都会出现各种问题。我认为作为Xcode命令行工具的一部分安装的gdb版本6.3.50无法显示各种基于模板的变量。我还构建并尝试使用其他几个gdb版本(7.3.1、7.4.1和7.5.1),但每个gdb版本都有问题,导致很难甚至无法设置断点、查看源代码和查看变量。具体来说,这些gdb版本不知道头文件中定义的

c++ - OS X 'heap' 命令行实用程序如何收集其信息?

OSX的“堆”命令行实用程序显然可以枚举不同的malloc区域和任何正在运行的进程的各个malloc'edblock。它不需要链接任何特殊的调试库,也不需要为目标进程设置任何调试堆环境变量。它使用哪种底层机制来做到这一点?我能找到的所有malloc调试API都需要在进程内部设置Hook、链接特殊调试库或在启动进程之前设置调试环境变量。据我所知,该实用程序的源代码不可用,而且在Google和Apple.com上进行了大量搜索也没有找到任何有用的信息。我最感兴趣的是获取实际的malloc内存总和,因为进程的驻留大小通常会比应用程序代码实际请求的大小显着膨胀。谢谢!

c++ - 在 OS X 中,C++ 未处理的异常不会自动打印 what() 的输出

拿这段代码:#includeintmain(){throwstd::exception();return0;}当我在UbuntuLinux中使用gcc编译和运行它时,我得到以下有用的输出:terminatecalledafterthrowinganinstanceof'std::exception'what():std::exceptionAborted(coredumped)但是,当在OSXMountainLion(同时使用GCC和clang)上编译和运行时,我得到以下帮助不大的输出:libc++abi.dylib:terminatecalledthrowinganexception

c++ - 点云库应用程序难以调试,可能是由于线程?

我正在使用点云库和cmake进行编译,我已经在Debug模式下构建它,但我的程序没有以我期望的方式出现错误或中止。具体来说,我收到这样的消息:(gdb)runbunnyStartingprogram:debug/our_cvfhbunnylibc++abi.dylib:terminating[NewThread0x170bofprocess80178]ProgramreceivedsignalSIGABRT,Aborted.0x00007fff88c6f866in??()(gdb)bt#00x00007fff88c6f866in??()#10x00007fff8bb5235cin??(

c++ - 如何向 OSX 中的应用程序菜单添加元素?

是否可以更改OSX上的应用程序菜单?默认的应用程序菜单如下所示:但是大多数应用程序都在应用程序菜单中提供诸如关于窗口之类的东西,以免弄乱帮助菜单:这在Qt中如何实现?QML中的解决方案会很棒,但项目示例中甚至没有通用解决方案。 最佳答案 要在应用程序菜单中强制执行操作,请在其上设置菜单角色:action->setMenuRole(QAction::ApplicationSpecificRole); 关于c++-如何向OSX中的应用程序菜单添加元素?,我们在StackOverflow上找到