标签: objective-c++

尺寸已定义

我今天搞乱了我的Objective-C++命名空间.

我发现Handle,Size和Duration已在ObjC++中定义.他们定义了什么,他们在哪里定义?

我只有#imported Foundation/Foundation.h

macos cocoa objective-c objective-c++

2
推荐指数
1
解决办法
140
查看次数

使用C ++模板作为Objective-C方法的参数

如何使用C ++模板作为Objective-C方法的参数?本质上我想做这样的事情:

template<typename T> 
- (void)method:(T)arg
Run Code Online (Sandbox Code Playgroud)

但这不起作用。根据文档,这是可能的,但是未提供任何示例。有人知道怎么做吗?

c++ templates objective-c++

2
推荐指数
1
解决办法
2645
查看次数

非8字节对齐的内存访问会导致iPhone 3GS与iOS 4.0的内存访问冲突

考虑以下Objective-C++ iPhone应用程序(TestMemAppDelegate.mm).它与iPhone上的EXC_BAD_ACCESS崩溃(带有iOS 4.0的3GS).它在模拟器中工作正常.它显然是一个内存对齐的东西,因为如果"DataA"结构在8字节边界上启动,它在iPhone上工作正常.

任何人都可以解释原因吗?这是ARM架构的一部分吗?ARM编译器?

@implementation TestMemAppDelegate


typedef struct DataA
{
 float    x;
 unsigned char  y;
};


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

 char* mem1 = (char*)malloc(4096);

 DataA* ptrA = (DataA*)(mem1 + 1); // Here we shift the alignment
 ptrA->x = 10.0f;
 printf("A: %.2f\n", ptrA->x); // Here it crashes



    // Add the view controller's view to the window and display.
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}


@end
Run Code Online (Sandbox Code Playgroud)

memory iphone malloc arm objective-c++

2
推荐指数
1
解决办法
1853
查看次数

NSMutableArray insertObject:(id)atIndex:int插入void ptr

在我的应用程序中,我有一个C++和Objective C++代码的混合,在一个地方,我需要插入c ++类对象的指针到NSMutableArray,但我得到NSINvalidArgument异常,任何人都可以指导我,我怎么能插入无效指针NSMuatableArray

这是我试过的,

pArray = [[NSMutableArray alloc]initWithCapacity:myList.size()];

Node *node = myList.getHead();

int idx =0;
void *ptr = nil;
while ( node ) {
    [pCTArray insertObject:(NSObject *)node atIndex:idx];
    node = node->getNext();
    idx++;

}
Run Code Online (Sandbox Code Playgroud)

是否有任何其他方法将其插入MutableArray,我做的可能的解决方法是:有商店索引链接

[myArray insertObject:[NSNumber numberWithInt:idx] atIndex:idx];
Run Code Online (Sandbox Code Playgroud)

我将在所有NSTable/NSOutliveVIew委托方法中使用此数组,我需要选择索引并从链接列表中获取元素,但由于性能而担心,因为需要太多的函数调用,

这是Cocoa中的任何错误,或者我做错了什么?

c++ cocoa objective-c++ nsmutablearray

2
推荐指数
1
解决办法
1176
查看次数

XCode - ml.hpp中的#include <map>:没有这样的文件或目录

我正在尝试编译一个C++代码(OpenCV),我要走到最后.我只是在这些行上有一些"没有这样的文件或目录"编译错误到XCode 4:

#include <map>
#include <string>
#include <iostream>
Run Code Online (Sandbox Code Playgroud)

我可以包括什么来让它找到"文件"?

我没有看到.

我使用基于OpenCV和Objective-C的另一个项目,例如,成功通过编译过程,文件是相同的,我一个接一个地检查所有Build设置行,除了搜索路径之外它们都是一样的更新为我自己的项目文件夹.文件夹架构是一样的......

我已经阅读了这个链接,但它似乎不是解决方案,因为我不应该在更改文件的任何地方添加代码,因为我不使用任何代码,示例项目工作得很好.我刚刚包含在我的一个.m文件中,就像示例项目一样.

xcode compilation objective-c++

2
推荐指数
1
解决办法
5860
查看次数

自定义字体无法在iPhone设备上运行

我正在尝试将外部.ttf字体加载到我的一个iOS项目中.该字体在模拟器中工作正常,但无法在实际设备上显示.

我正在使用LLVM GCC 4.2编译器.在另一个使用Apple LLVM编译器3.0的项目中,相同的字体可以使用.我不明白我怎么解决它?使用LLVM GCC 4.2编译器需要遵循哪些步骤?

iphone objective-c objective-c++ ios5 xcode4.2

2
推荐指数
1
解决办法
2263
查看次数

在XCode中创建要在Obj-C中使用的C++库

我正在尝试在XCode中用C++创建一个库,我试图在iPhone项目中使用它.我正在使用XCode 4.3.2.由于iOS开发中没有现成的模板来创建C++库,我使用的是Mac OSX - Framework&Library - > C/C++ Library选项.

在这个项目中,我有.h和.cpp文件.我故意想将我的C++代码保存在.cpp文件中,因为它可能稍后在Android或Windows 8上使用.为了将它链接到示例iPhone项目,我已经修改了项目的目标以指向最新的SDK iOS 5.1 ,并使用架构armv6和armv7.

以下是我的.h文件

#ifndef Test_Test_h
#define Test_Test_h
class Test {   --> I get the error here saying unknown type 'class'; did you mean 'Class'?

public:
Test();
~Test();
int addTwoNums(int a, int b);
};


#endif
Run Code Online (Sandbox Code Playgroud)

以下是我的C++库中的.cpp文件

#include <iostream>
#include "Test.h"
Test::Test(){}
Test::~Test(){}
int Test::addTwoNums(int a, int b)
{
return (a + b);
}
Run Code Online (Sandbox Code Playgroud)

现在为了在我的iPhone项目中启用函数调用,我创建了一个在.mm类中嵌入C++对象的包装层,这篇文章由本文提供:http://www.philjordan.eu/article/mixing-objective-c- C++ -和目标c ++

以下是我的包装头文件的实现,它是我单独的iPhone项目的一部分

#import <Foundation/Foundation.h>
@interface TestWrapper : NSObject
-(id)init;
-(int)returnSumFromCpluspus:(int) a …
Run Code Online (Sandbox Code Playgroud)

c++ wrapper objective-c++

2
推荐指数
1
解决办法
4576
查看次数

即使将.m类文件链接到Xcode中的构建阶段,Apple Mach-O链接器也会出现重复符号错误

当我构建并运行我的项目时,我得到的唯一错误,结果是Apple Mach-O链接器错误

架构i386的20个重复符号

链接器命令失败,退出代码为1(使用-v查看调用)

问题是我检查了项目中任何重复的类文件,图片,音频文件的存在(不是任何).我已将所有.m文件导入构建阶段 - >编译源.还有与二进制库链接导入的正确框架,并检查图片,xib,音频文件是否已在复制包资源中正确导入,到目前为止一切看起来都不错.但是,当我尝试运行项目时,链接器错误仍然存​​在.谁能告诉我哪里出错了?

 Ld /Users/User/Library/Developer/Xcode/DerivedData/Taukytable-bwphmaegucpyjhfinxfulunsuhag/Build/Products/Debug-iphonesimulator/Taukytable.app/Taukytable normal i386
        cd "/Users/User/Desktop/Taukytable Newone"
        setenv IPHONEOS_DEPLOYMENT_TARGET 6.0
        setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
        /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/User/Library/Developer/Xcode/DerivedData/Taukytable-bwphmaegucpyjhfinxfulunsuhag/Build/Products/Debug-iphonesimulator -F/Users/User/Library/Developer/Xcode/DerivedData/Taukytable-bwphmaegucpyjhfinxfulunsuhag/Build/Products/Debug-iphonesimulator -filelist /Users/User/Library/Developer/Xcode/DerivedData/Taukytable-bwphmaegucpyjhfinxfulunsuhag/Build/Intermediates/Taukytable.build/Debug-iphonesimulator/Taukytable.build/Objects-normal/i386/Taukytable.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -stdlib=libc++ -mios-simulator-version-min=6.0 -framework CoreAudio -framework CoreMedia -framework CoreFoundation -framework Accelerate -framework CoreData -framework CoreVideo -framework Security -framework CoreImage -framework MessageUI -framework MobileCoreServices -framework AVFoundation -framework QuartzCore -framework SystemConfiguration -framework OpenGLES -framework AssetsLibrary -lsqlite3.0 -framework AudioToolbox -framework UIKit …
Run Code Online (Sandbox Code Playgroud)

xcode mach-o linker-errors objective-c++ ios6

2
推荐指数
1
解决办法
2886
查看次数

有没有办法#if Objective-C++?

我很清楚#if __OBJC__宏,但我想知道ObjC++是否有相同的东西?

c++ macros objective-c llvm objective-c++

2
推荐指数
1
解决办法
140
查看次数

在Xcode中编译#include <cstdlib> - 编译时出错:找不到文件

我在我的项目中添加了一个框架,在哪里获取我需要实现c ++代码的框架的回调,我已经从.cpp中添加了.mm类的c ++类

根据此链接中的建议

我还发现了一些StackOverflow的帖子,我发现要么我必须使用C++或Objective C源类型(作为少数成员的建议).

我期待编译c ++代码以及Objective C类,但我得到文件未找到错误(编译时) #include <cstdlib> and #include <string>

请让我知道任何一个解决它的人.或面临同样的问题.

提前致谢!!!

c++ xcode objective-c objective-c++

2
推荐指数
1
解决办法
3406
查看次数