草庐IT

c++ - 在 MacOS 10.9 (Mavericks) 上构建 Boost.Python 应用程序

我升级到Mavericks,现在在进行大量故障排除后无法构建我的应用程序。在链接期间,我收到错误Undefinedsymbolsforarchitecturex86_64:"boost::python::objects::function_object(boost::python::objects::py_functionconst&,std::pairconst&)..."boost::python::objects::register_dynamic_id_aux(boost::python::type_info,std::pair(*)(void*))"我正在使用来自macpor

c++ - 使用 SDL2 指定 OpenGL 版本

我正在使用装有OSX10.9.2的Macbookair我的显卡是(IntelHDGraphics40001024MB)Apple表示,具有我的规范的Macbookair最高支持Opengl4.1,您可以在此处阅读->http://support.apple.com/kb/HT5942.然而,当我使用SDL2并强制系统使用opengl3.2以及当我通过glGetString()查询OpenGL版本时,我得到以下行:2.1INTEL-8.24.11我的代码:#include#include#includeusingnamespacestd;voidsdldie(constchar*msg)

c++ - Mac OS X 上的异步 I/O

含义theC10Kproblem,在MacOSX上执行异步I/O的最佳方法是什么(假设在Mac和iPhone/iPad上使用)?在Linux上我们的选择是epoll,在Windows上是I/OCompletionPorts。首要任务是性能和可扩展性(数千个连接)。更新好的。由于Darwin是BSD-like系统,我通常的想法是使用kqueue。这是一个正确的方向吗?很高兴听到在这方面有经验的人的意见。谢谢 最佳答案 Boost.Asio是一个优秀的跨平台、高性能、C++网络库。在MacOSX上,它使用kqueue作为react器事件

c++ - 使用自定义 python 在 mac os x lion 上提升 python

我正在尝试让boostpython与自定义python库一起工作。我有一个python源代码并使用以下方法构建boost.python:./bootstrap.sh--with-python-root=../Python-2.7.2--with-libraries=python然后./b2但是当我尝试在我的应用程序中使用boost.python时,我得到了Pythonfatalerror:解释器未初始化(版本不匹配?)当我调用PyRun_SimpleString("importsys\nprintsys.version");时,我得到了2.7.2,如我所料(以及我构建boost.pyt

c++ - 从内存中加载动态库

是否可以从内存而不是从mac/gcc上的文件系统加载库?对于Windows,我使用的是MemoryModule,但它显然不是跨平台兼容的。 最佳答案 首先,要做到这一点,我建议您阅读OSXABIDynamicLoaderReference.为此,您必须使用NSCreateObjectFileImageFromMemoryAPI。GivenapointertoaMach-Ofileinmemory,thisfunctioncreatesandreturnsanNSObjectFileImagereference.Thecurrenti

c++ - Qt 中的 Objective-C with Mavericks

我一直在Qt中混合使用Objective-C和C++,没有任何问题;在需要时使用.mm文件。将我的构建机器升级到Mavericks后,我最初注意到缺少框架header,因此安装了XCode命令行工具,解决了这个问题。现在,我在编译Objective-C文件时遇到问题,错误提示框架中的代码。例如:-System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSUserNotification.h:16:44:error:missing','betweenenumeratorsNSUserNotificationAc

c++ - Qt中有没有办法禁止计算机进入休眠状态?

我正在编写一个执行一些繁重计算的Qt应用程序,但在Mac上(也可能在Windows上,但我目前无法检查这一点),一旦计算机进入休眠模式,执行就会停止。我想要一种即使在屏幕进入屏幕保护程序或空白时也能继续执行的方法。显然,您可以要求用户更改他/她的能量设置,但这远非理想的解决方案。有正确的方法吗? 最佳答案 在对Qt5.2API进行彻底搜索后,Qt似乎没有提供任何更改能量设置的功能(因此对于Mac和任何其他操作系统都没有)。我也没有发现任何迹象表明它在他们的路线图上。可以找到使用Apple的Objective-CAPI的MacOSX的

c++ - 在带有 Xcode 的 Mac OS Mavericks 上,clang++ 默认为 lib=stdlibc++?

我正在运行带有Xcode5.1.1的MacOSXMavericks,包括命令行工具。我正在使用Xcode提供的clang++编译简单的C++程序,版本信息是:AppleLLVM版本5.1(clang-503.0.40)(基于LLVM3.4svn)我发现如果我尝试运行以下命令clang++-ohello.outhello.cpp我收到以下错误:Undefinedsymbolsforarchitecturex86_64:"std::ios_base::Init::Init()",referencedfrom:___cxx_global_var_initinhello-2ad0da.o"st

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共享标志没有给出

c++ - 使用 Xcode 为 macOS 构建时,C++ async 是否使用线程池?

使用平台的标准开发工具和编译器[1],std::async是否为每个后台作业生成一个新的操作系统线程,或者它是否使用线程池或一些基于工作窃取任务队列?Xcode、Clang/LLVM 最佳答案 使用平台标准工具链(Xcode/Clang)构建的应用程序不使用线程池。使用std::async启动的任务的堆栈底部包含std::thread和pthread调用。退出时,每个作业调用pthread_exit()杀死运行它的线程。在为iOS构建时,Xcode8.3.3还在每个使用std::async启动的作业中使用一个操作系统线程(在原始iP