问题标签 [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.
c++ - 带有一些 Objective-C++ 的 Objective-C,调用普通的 c++ 方法“引用自”问题
我为 iPhone 制作了一个 Objective-C 项目。我只有一个 cpp 类,soundEngine 取自一些 Apple 演示。现在我正在尝试合并用 Objective-C++ 编码的 OpenFeint。我通过简单地拖动文件并在项目设置中勾选“在Objective-C中调用C++默认ctors / dtors”来放入代码。我什至没有从我的代码中提到它。当我点击 Build 时,我的 Objective-C 代码找不到 cpp 文件的方法。所有的类文件都会编译,包括 OpenFeint 的,但在链接阶段它会显示其中几个错误:“_SoundEngine_SetDisabled”,引用自:someClass.o
请注意,当它报告这些链接错误时,它会在方法前面添加一个下划线。
PS 我知道对于 OpenFeint,首先应该做的就是将文件转换为 .mm,但如果可能的话,我不想在这个开发阶段走这条路。我打算尝试为它创建一个包装器 Objective-C++ 类。我读到有人设法做到了。
objective-c - 没有 iPhone 应用的 Debug 信息
我编写了一个使用第三方库的 iPhone 应用程序。我成功交叉编译了这个库,一切都很顺利。但是当我想调试应用程序时,也能够调试库是有意义的。所以我还用调试信息编译了外部库(使用 gcc 选项 -ggdb)。但是当我想调试它时,我得到了正确的符号名称,但位置总是错误/非常奇怪(locale_facets.tcc:2505 或 iostream:76)。例如,堆栈跟踪可能如下所示:
有谁知道这些错误的位置来自哪里?
c++ - 未找到符号,预计在平面命名空间 ObjC++ 中
我可能有一个简单的问题,但是在编译过程中没有信息性错误或警告来提醒我出了什么问题。
我有一个包含 C++ 主文件和 ObjC 头文件的 Objective-C++ 应用程序。
它构建得很好,但是在运行时,它会给出以下错误消息:
再多的谷歌搜索都没有找到解决方案,我敢肯定我只是错过了某个地方的编译或构建选项。
“AppController.h”包含在目标中(选中),并包含在#import
ObjC 类文件中。
任何帮助是极大的赞赏。
ObjC++ 经常让我头疼。
谢谢,
-S!
c++ - Objective-C++ 为 iPhone 编译,但不是模拟器
我有一个要添加到我的 iphone 项目中的 C++ 库。
在一个头文件中我声明
对于具有 Release 设置的 iPhone 设备,这编译得很好。但是,无论有没有调试信息,它都拒绝为模拟器编译。
它给出了错误
有没有办法解决这个问题,还是我必须只定义具体的 C++ 类?
c - alloca(n) 和 char x[n] 有什么区别?
和有什么区别
和
...其中size是一个变量,其值在编译时未知。
objective-c - 如何在objective-C++中返回C++指针
我有以下 Objective-C++ 标头以及返回此指针的简单方法。
我创建了简单的方法
一切似乎都有效,直到我真正尝试在另一个文件中使用该对象
它抱怨:错误:在初始化时无法将 'objc_object*' 转换为 'MyCPPObje *'。
该方法似乎是返回一个objective-c对象,但我特意请求了一个C++指针。
MyCPPObj 是一个诚实的 C++ 类:
我该如何解决?
iphone - 发布的对象崩溃应用程序
我正在使用 Objective-C++ (+Boost) 进行 iPhone 开发。
我处于一个相当紧凑的循环中,需要分配和释放某个对象。
代码是这样的。
FObj 对象类似于
在 FObj 的实现中有一个 dealloc 方法:
恐怕如果我不发布,那么“MyCPPObj”就会堆积起来。但是释放会使应用程序在第一个循环后崩溃。我究竟做错了什么?
或者我应该制作 cppobj 和 boost::shared_ptr 吗?
(当objective-C++ 对象被删除时,boost 共享指针会自动释放它们的对象吗?)
iphone - 制作 ARToolKitPlus dylib 后,ARToolkitPlus 的头文件出现问题!
我正在为 iPhone 编写这个增强现实应用程序,我决定使用ARToolKitPlus。使用 QMake,我创建了 xcode 项目文件,随后创建了 libArToolKitPlus.dylib
我尝试编译并运行运行良好的示例文件“simple”和“multi”。现在,由于找不到头文件,我尝试创建另一个项目并使用该库的所有其他尝试都失败了。如果我将“include”文件夹拖到 xcode 项目中,我会得到 8 个错误,而不仅仅是一个;一个是针对未找到的主要包含已解决,但随后它包含 8 个无法找到的其他标头(尽管它们位于同一文件夹中)
我收到一个错误:ARToolKitPlus/TrackerSingleMarkerImpl.h:没有这样的文件或目录
如果我拖动包含文件夹,那么我会得到一些:
- 错误:ARToolKitPlus/TrackerSingleMarker.h:没有这样的文件或目录
- 错误:../src/TrackerSingleMarkerImpl.cpp:没有这样的文件或目录
错误:“,”标记之前的预期类名
类 TrackerSingleMarkerImpl : public TrackerSingleMarker, protected TrackerImpl<__PATTERN_SIZE_X,__PATTERN_SIZE_Y, __PATTERN_SAMPLE_NUM, __MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>
据我所知,拥有 dylib 并没有什么不同。你觉得我应该怎么做??创建一个框架会有帮助吗?
c++ - Objective-C++ 中的 boost::shared_ptr
这是对我之前提出的一个问题的更好理解。
我有以下 Objective-C++ 对象
然后我创建了一个完全不同的 obj,它需要在 boost::shared_ptr 中使用 cppobj (在这件事上我别无选择,它是我无法更改的巨大库的一部分)
我尝试了以下方法但失败了:我尝试合成 cppobj。然后我通过以下方式在“麻烦行”中创建了一个 shared_ptr:
它第一次运行良好。然后我销毁 NOBJ 并重新创建它。当我为 cppobj 它消失了。大概 shared_ptr 决定不再需要它并取消了它。
所以我需要帮助。我怎样才能让 cppobj 活着?
有没有办法在不破坏 cppobj 的情况下破坏 bsp(或者它是对 cppobj 的引用)?
c++ - 如何在 XCode 中使用 C++ 和 Objective-C
我想在 Objective-C 中使用/重用 C++ 对象。我有一个具有类定义的 hello.h,以及用于类实现的 hello.cpp。
我在 Objective-C 函数中使用了这个类。
当我在 Xcode 中编译代码时,我收到此错误消息。
什么地方出了错?