我现在必须将C ++代码移植到iOS,尝试通过原始C ++代码构建静态库并在iOS上加载库。因为原始代码很重,所以我开始一个小测试来验证我的步骤是否可行。
首先我需要构建库(.a),它会打印一些字符串。我编译以下代码并生成一个库(.a)文件
//talk.h
...
#include <iostream>
class Talk {
Talk();
void printHello();
void printWord(char*);
};
//talk.cpp
#include "talk.h"
using namespace std;
void Talk::printHello() {
cout << "Hello World";
}
void Talk::printWord(char* word) {
cout << "Hello" << word;
}
我尝试的第二步是为iOS应用程序打开一个新项目,然后设置指向库文件的链接,还包括相应的“talk.h”头文件。 但是,即使我成功构建库,头文件也会发生一些错误。
错误表明
我尝试将controller.m重命名为controller.mm,但它没有解决问题
如何导入用C ++编写的头文件以便在iOS上使用库? 感谢
答案 0 :(得分:4)
粗略概述:
在Xcode中(从任一模板iOS应用程序项目(或现有模板)开始:
Xcode将负责为您设置其他所有内容,包括编译器标志和标头搜索路径。
答案 1 :(得分:0)
对于第一部分,C ++与Xcode编译得很好 我写了一个简单的教程 http://tutorialsios.blogspot.com/2013/09/c-beginers-code-for-objective-c.html 这些代码是使用Xcode编写的,并在终端
中编译#include "functionOverLoading.h"
int main(int argc, const char * argv[]) {
..
..
return 0;
}
$ g ++ functionOverLoading.cpp -o functionOverLoading
$ ./functionOverLoading
答案 2 :(得分:0)
您需要添加C ++标准库。
要执行此操作,请在项目中找到其他链接标记并添加-lstdc++
。