博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mac os下通过命令行的方式编译c++代码并在xcode里引用
阅读量:7065 次
发布时间:2019-06-28

本文共 933 字,大约阅读时间需要 3 分钟。

1编写c++类:

c.h

#include <stdio.h>

class AA {

public:

 void Go();

};

 

c.mm

#include "c.h"

AA::Go() {

printf("AA::Go");

}

2编译刚刚写的类,分两 种运行环境,一种是在模拟器下运行,编译的目标代码架构为i386,一种是在真实iphone ipad里运行,目标代码架构为armv7,我们先编译可以在模拟器里运行的,要用模拟器的gcc编译器,打开命令行,键入命令:

cd /program/code/

 /Developer/platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 -arch i386 -c -I./  ./c.mm

这样在源代码目录下会生成一个c.o文件,这就是我们需要的目标文件,如果要编译arm架构的,可用

/Developer/platforms/ios.platform/Developer/usr/bin/llvm-g++-4.2 -arch i386 -c -I./  ./c.mm 

3打开xcode,新建一个ios应用程序,弄好后点击项目名,选择build phases,然后选 择link binary with librarys,展开后点击+号, 浏览选择刚刚生成的c.o,编译然后运行就可以了,objective-c的调用代码如下,注意要将调用的objective-c的源代码文件的扩展名.m改为.mm以支持objective-c与c++的混编:

-(void) viewDidLoad {

[super viewDidLoad];

AA *a = new AA();

a->Go();

delete a;

}

 注:

又试了一下,把llvm-g++-4.2改为g++-4.2也可以编译成功并运行良好,说明可以用gcc编译器编译好后再用llvm-gcc(XCODE使用的)编译器引用

/Developer/platforms/ios.platform/Developer/usr/bin/g++-4.2 -arch i386 -c -I./  ./c.mm 

 

转载地址:http://oxxll.baihongyu.com/

你可能感兴趣的文章
获取GET/POST提交的数据,并处理中文问题
查看>>
jdbc 获取connection 对象的三种方式
查看>>
jsp标签+jstl
查看>>
第二阶段个人总结09
查看>>
FATAL ERROR: Could not find ./bin/my_print_defaults的解决办法
查看>>
文摘《十一》
查看>>
jquery 笔记。。。——》摘自武方博
查看>>
一个夭折,
查看>>
C#开发微信门户及应用(1)--开始使用微信接口(转)
查看>>
Kali-linux使用社会工程学工具包(SET)
查看>>
ScriptManager(脚本控制器)
查看>>
Android chromium 2
查看>>
poj_3468,线段树成段更新
查看>>
什么是mybatis?
查看>>
【算法导论】学习笔记——第6章 堆排序
查看>>
NS3编译运行
查看>>
Python+Appium自动化环境搭建
查看>>
wap网站seo如何优化呢?
查看>>
Java基础-Date类常用方法介绍
查看>>
js 属性getset
查看>>