问题标签 [objective-c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
47540 浏览

c++ - 混合 Objective-C 和 C++

我正在尝试将 Objective-C 与 C++ 混合。当我编译代码时,我得到了几个错误。

溴化氢

以下是错误:

0 投票
2 回答
125 浏览

iphone - 为什么我的应用程序正在运行

我已经使用设置(设备,发布)编译了我的 iPhone 应用程序。

我将它安装在测试机器上,它运行没有问题。

这就是问题所在。该应用程序链接到 C++ 库。在模拟器上编译没有错误。然而,设备编译会产生 568 个错误,主要是关于 AppDelegate.o 的不同可见性。

它们看起来都像:

QL::Error::~Error() 在 /QL/build/Release-iphoneos/libQLLibrary.a(abcd.o) 和 /Programming/ObjC/Second/build/Second 中具有不同的可见性(默认)和(隐藏)。构建/发布-iphoneos/FG.build/Objects-normal/armv6/AppDelegate.o

为什么会这样,无论如何我怎样才能停止错误?

0 投票
4 回答
2722 浏览

c++ - C++ 引用类型作为 Objective-C++ 中的实例变量

Objective-C++ 中禁止将 C++ 引用类型作为实例变量。我该如何解决这个问题?

0 投票
1 回答
148 浏览

xcode - 参数在某处变为零

发生了一些非常奇怪的事情:当我调用 foo(100*1.0f) 时,沿线某处变成了 0。为了验证我在 foo() 上设置了一个断点,它确实是零并且它确实被调用了 100*1.0 F。代码在 Obj-C++ 中。

这里是 XCode 的 GDB 前端的调用函数,可以看到 score*scoreMultiplier 为 100。 调用函数 http://img341.imageshack.us/img341/1109/screenshot20100502at135.png

这是 XCode 的 GDB 前端中的被调用函数,这里 _score 为 0。 被调用函数 http://img156.imageshack.us/img156/1109/screenshot20100502at135.png

0 投票
3 回答
1068 浏览

c++ - 停止失控的 Lua 子进程

我已经使用 LuaObjCBridge 将 Lua 嵌入到一个 Objective-C 应用程序中。如果需要太多时间(无限循环?),我需要知道如何停止 Lua 进程。

在单独的线程中运行它会有所帮助吗?

0 投票
2 回答
232 浏览

c++ - Objective-C++ 中的 C++ 堆栈

我想在 Objective-C 中使用 C++ 堆栈类型,但我遇到了一些问题。这是我想做的一个示例:

不幸的是,这不能编译。在弄乱了代码一段时间并尝试了不同的事情之后,我似乎找不到实现这一目标的方法。有人可以告诉我在 Objective-C 对象中使用 C++ 堆栈的最佳方法,或者它是否可能?

谢谢。

更新:

好吧,KennyTM 的答案适用于我的示例文件,但由于某种原因,当我尝试重命名该类时它停止工作。这是我现在拥有的代码:

编译器吐出以下错误:

0 投票
2 回答
689 浏览

iphone - NSStringFromPoint 在 Objective-C++ 下消失

当我使用 Objective-C++ 编译我的代码时,函数 NSStringFromPoint 消失了,但在 Objective-C 下它很好。

如何让 Objective-C++ 看到该功能?

如果我在 Objective-C++ 下编译它会说:

0 投票
2 回答
1689 浏览

xcode - 如何静态分析 C++ 和 Objective-C++ 代码?

“构建和分析”选项似乎不适用于 .cpp 和 .mm 文件。我在没有任何标准#includes 的单个文件上尝试了“clang --analyze”,它运行良好。但是我无法在我的 Xcode 项目上运行它。我想不出办法让铿锵声找到标准的#includes,甚至像UIKit.h。有什么线索吗?

0 投票
2 回答
1390 浏览

c++ - Objective-C/C++ - 链接器错误/方法签名问题

有一个静态类 Pipe,在我包含的 C++ 头文件中定义。

我有兴趣调用的静态方法(来自 Objective-c)在这里:

我可以访问一个似乎存储用户 ID 和 zoneID 副本的 Objective-c 数据结构——它看起来像:

查找了 GUID def,它是一个结构,其中包含一堆用于相等的重载运算符。第一个函数签名中的 UserId 和 ZoneId 是 #typedef GUID

现在,当我尝试调用该方法时,无论我如何转换它(const UserId)、(UserId)等,我都会收到以下链接器错误:

这是类型/函数签名错误,还是真正的某种链接器错误?我有定义所有这些类型和静态类的标题#imported - 我也尝试了#include,以防万一,因为我已经绊倒了:P

原谅我,我来自网络技术背景,所以这种 c 风格的内存管理和不变性的东西是超级模糊的。

编辑:添加了完整的链接器错误文本。将“功能”更改为“方法”。另外我会注意到,我们正在使用一个自定义的 makefile 来编译这个之外的一些项目。不过,在这个 xcode 项目中,SocPipe 静态方法在其他地方被引用,并且似乎编译得很好。

0 投票
4 回答
11445 浏览

iphone - 在 Xcode 中创建 Objective-C++ 静态库

所以我为 iPhone 开发了一个引擎,我想用它来构建几个不同的游戏。与其在每个游戏的项目目录中复制和粘贴引擎的文件,我还需要一种从每个游戏链接到引擎的方法,所以如果我需要对其进行更改,我只需要这样做一次。经过一番折腾,似乎静态库是在 iPhone 上执行此操作的最佳方式。

我创建了一个名为 Skeleton 的新项目,并将我的所有引擎文件复制到其中。我使用指南创建了一个静态库,并将该库导入到一个名为 Chooser 的项目中。但是,当我尝试编译该项目时,Xcode 开始抱怨我包含在一个名为 ControlScene.mm 的文件中的一些 C++ 数据结构。这是我的构建错误:

如果有人可以就为什么会出现这些问题提供一些见解,我将不胜感激。