首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Xcode中的Swift和C++桥接

Xcode中的Swift和C++桥接
EN

Stack Overflow用户
提问于 2018-06-08 03:32:51
回答 1查看 1.4K关注 0票数 0

error机器信息: macOS 10.13.5 Xcode 9.4 Swift 4.1默认c++编译器

我已经创建了简单的swift项目,只是添加了c++文件和头文件,Xcode为我创建了桥头文件。我已经在.cpp文件中初始化了基本函数,将原型写成了.hpp文件,并在桥接头中包含了.hpp文件。当我开始输入cpp文件时,一切似乎都正常了:我的cpp函数名在.swift文件中的适当位置得到了建议,没有出现任何警告或错误。但是,当我尝试构建这个项目时,得到了以下结果:未定义的体系结构符号x86_64:"_get",引用自:_main in main.o

以下是源代码:

    // main.swift
    import Foundation

    print("Hello, World!")

    var number = get();

    // cppBackend.cpp
    int get()
        {
        return 1;
        }

    // cppBackend.hpp
    int get();

    // test-Bridging-Header.h
    #include "cppBackend.hpp"


    //cppBackend.hpp second version
    #ifdef _cplusplus
    extern "C"
        {
    #endif


    #include <stdio.h>

    int get();

    #ifdef _cplusplu
        }
    #endif
EN

回答 1

Stack Overflow用户

发布于 2018-06-08 03:58:00

目前Swift和C++之间没有互操作。您可以轻松地使用ObjC和C,但是对于C++,您需要将C++代码包装在ObjC中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50748934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档