草庐IT

osx-leopard

全部标签

c++ - 在 mac osx(不是 dylib)上构建真正的 .so/MH_BUNDLE 共享库的 g++ 标志是什么?

我正在尝试在macosx上创建一个.so。似乎有一个distinction在.so和.dylib类型之间。$filesome_real.sosome_real.so:Mach-O64-bitbundlex86_64dynamiclib标志按预期生成dylib$g++-dynamiclib-olibgtest-1.7.0.dylib[my.ofiles]$filelibgtest-1.7.0.dyliblibgtest-1.7.0.dylib:Mach-O64-bitdynamicallylinkedsharedlibraryx86_64####^^^asexpected共享标志没有给出

在 Mac OS X Snow Leopard 上使用 Xcode 的 C++11

我的项目有时在Windows/VisualStudio2010上开发并使用一些C++11功能,我需要能够在MacOSX上开发/构建。当我尝试使用Xcode构建项目时,我在新的C++11功能方面遇到了很多错误,并检查了gcc版本,发现它很旧(4.2)。看起来Apple试图通过拒绝在任何其他版本的MacOS上下载Xcode4+来迫使开发人员为Lion支付不必要的升级费用,因此我只剩下Xcode3.x。如何在SnowLeopard上继续使用C++11?有没有一种方法可以做到这一点并将Xcode保持为IDE? 最佳答案 2012年2月25日

c++ - OSX 10.8 上 -stdlib=libc++ 的无效部署目标

我正在通过node-gyp编译一个用C++编写的Node.JS包。当我编译它时,我收到以下错误:clang:error:invaliddeploymenttargetfor-stdlib=libc++(requiresOSX10.7orlater)。我在OSX10.8上运行,并且安装了XCode命令行工具。这是node-gyp用来编译包的文件:{"targets":[{"target_name":"package_name",'type':'executable','xcode_settings':{'OTHER_CFLAGS':["-std=c++11","-stdlib=libc+

c++ - 如何使用 macports 安装 clang 3.1? (OSX,雪豹)

我想使用macports安装最新的clang(3.1)编译器(我使用emacs而不是xcode,而且xcode附带的clang版本无论如何都较旧)。macports似乎有最新版本的gcc,但是当我输入“portlistclang”时,显示的唯一版本是2.9。我使用C++11功能,所以我想使用最新版本。我在MBP上运行雪豹。 最佳答案 Clang在MacPorts上有几个不同的版本:$portsearchclangclang@2.9(lang)C,C++,ObjectiveCandObjectiveC++compilerclang-2

c++ - 如何使用 AudioQueue 在 C++ 中为 Mac OSX 播放声音

我正在尝试在OSX上从缓冲区播放声音(例如:等效于Windows“PlaySound”功能)。我整理了一些C++代码来使用AudioQueue播放音频(据我所知,这是在OSX上播放音频的最简单方法)。但是,不会产生声音,也不会调用音频回调函数。有没有人知道我做错了什么,或者有没有人有一个简单的C/C++示例来说明如何在OSX上播放声音?#include#include#defineBUFFER_COUNT3staticstructAQPlayerState{AudioStreamBasicDescriptiondesc;AudioQueueRefqueue;AudioQueueBuff

c++ - 如何在 mac osx 中隐藏终端窗口?

我有一个在Windows、Linux、Android和Mac上运行的多平台应用程序。它在所有平台上都是用g++编译的。对于Windows,我创建了一个安装程序并通过添加链接器标志摆脱了终端窗口:-Wl,--subsystem,windows我正在寻找Mac上的类似选项。从GUI打开可执行文件时,如何摆脱控制台窗口?这个问题类似于HowtohideconsolewindowinMacOS(gcccompiler)?,除了我的应用不是守护进程。谢谢。 最佳答案 根据您的描述,您正在构建一个unix风格的可执行文件。在OSX上,它们将始终

c++ - 在 Mac OSX 和 Linux 下使用 printf 语句进行类型转换

我有一些代码在MacOSX和Linux(Ubuntu、Fedora等)下表现不同。这是关于printf语句中算术运算中的类型转换。代码使用gcc/g++编译。以下内容#includeintmain(){floatdays=(float)(153*86400)/86400.0;printf("%f\n",days);floatfoo=days/30.6;printf("%d\n",(int)foo);printf("%d\n",(int)(days/30.6));return0;}在Linux上生成153.00000054在MacOSX上153.00000055为什么?令我惊讶的是,这适

c++ - 如何在 OSX 中安装 boost C++ 库

我下载了boostjam并将其放入安装文件中并尝试运行它,显示以下错误:error:error:noJamfileincurrentdirectoryfound,andnotargetreferencesspecified. 最佳答案 更现代的包管理器homebrew用一个做这个$brewinstallboost 关于c++-如何在OSX中安装boostC++库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

c++ - 如何从命令行在 OSX 上的 callgrind 输出中获取有意义的函数名称?

目标:我希望能够分析callgrind(以及后来的cachegrind)的输出,并希望在使用callgrind_annotateCLI时看到有意义的变量名。先前研究:我知道Valgrind(http://valgrind.org/docs/manual/manual-core.html)中的dsym标志,并且相信我了解调试符号在osx(LLDBnotshowingsourcecode)上的工作方式。我在这个网站上看到的少数提到这个问题要么没有得到答复,要么是未包含-g标志的情况。理论(可能是错误的...):基于valgrind输出中的“dym=”行,我想知道valgrind是否正在努力

c++ - 是否有 CoreBluetooth for OSX 的替代品

只是看看是否有人看到了使用CoreBluetooth进行经典蓝牙和蓝牙LE连接的替代方法 最佳答案 CoreBluetooth.framework仅适用于低功耗蓝牙。ExternalAccessory.framework(iOS)及其在MacOSX中的附件IOBluetooth(我想就是那个)用于经典蓝牙。由于它们是两种不同的思维方式和工作方式,您不能用一种方式与另一种蓝牙王者进行通信。您必须将低功耗蓝牙理解为经典蓝牙的分支。 关于c++-是否有CoreBluetoothforOSX的替