Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何构建C++编写的图书馆及其在iOS中的应用 我现在必须将C++代码移植到iOS,试图通过原始C++代码构建静态库,并在iOS上加载库。因为原始代码很重,所以我开始了一个小测试来验证我的步骤是否有效_C++_Ios_Objective C_Static Libraries - Fatal编程技术网

如何构建C++编写的图书馆及其在iOS中的应用 我现在必须将C++代码移植到iOS,试图通过原始C++代码构建静态库,并在iOS上加载库。因为原始代码很重,所以我开始了一个小测试来验证我的步骤是否有效

如何构建C++编写的图书馆及其在iOS中的应用 我现在必须将C++代码移植到iOS,试图通过原始C++代码构建静态库,并在iOS上加载库。因为原始代码很重,所以我开始了一个小测试来验证我的步骤是否有效,c++,ios,objective-c,static-libraries,C++,Ios,Objective C,Static Libraries,首先,我需要构建library.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 &

首先,我需要构建library.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头文件。 但是,即使我成功构建了库,头文件上也会发生一些错误

错误表明

找不到iostream文件 未知类型名称“类”;你是说“课堂”吗? 任何其他错误。。。 我尝试将controller.m重命名为controller.mm,但它无法解决问题

如何导入C++编写的头文件,用于在iOS上使用库?
感谢

< P>第一部分C++与Xcode的编译 我写了一个简单的教程 这些代码使用Xcode编写,并在终端中编译

#include "functionOverLoading.h"
int main(int argc, const char * argv[]) {
..
..
       return 0;
    }
$g++functionOverLoading.cpp–o functionOverLoading

$/函数重载


需要添加C++标准库。

为此,请在项目中找到其他链接器标志并添加-lstdc++。

大致轮廓:

在Xcode中,从一个模板iOS应用程序项目或现有项目开始:

创建新的静态库目标:文件->新建->目标。。。。选择框架或库,然后选择静态库 添加库源代码:将库源代码拖动到Xcode项目中。在出现的对话框中,选择上面创建的生成目标。 将项目相关性添加到库:在项目导航中选择项目,从目标中选择iOS构建目标。选择Build Phases选项卡,然后在窗口中的Target Dependencies下,单击+符号。将打开一个工作表,选择要添加的项目,并且库目标应位于列表的顶部。 在iOS目标中包含库:在“将二进制文件链接到库”下,单击+。库a.a文件应位于列表的顶部。 与libc++的链接:如上所述。从列表中选择libc++。 通过将扩展名从.m更改为.mm,为需要包含库头的任何源代码文件启用Objective-C++编译 构建iOS应用程序目标。
Xcode将负责为您设置所有其他内容,包括编译器标志和头搜索路径

但是我想要从C++代码构建一个库,然后在iOS上使用这个库,它需要加载库并包含IOS项目中的开放接口头。在XcodeHow中不运行普通C++代码来添加?在哪里添加?