[swift-users] question about swift and c callbacks

Yang Yang cometyang at gmail.com
Fri Dec 30 13:17:00 CST 2016


I try to wrap a c library in swift package named Test.
The code looks like this:

Test1.h

struct MyParams {
int (*func)();
};

typedef struct MyParams MyParams;

Test2.h
#include "Test1.h"

static int test(){
  return 0;
}

void myTest()
{
MyParams params;
params.func = test;
}


Then I try to import the package into swift code and use
in Test.swift.
************************
import Test

class TestSwift {
  func runtest(){
    myTest()
  }
}

However, the compiler report link error:
function myTest: error: undefined reference to 'test'

If I comment out
"params.func = test;" in myTest.

It successfully build. How should I handle this situation?

Thanks,

Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161230/1ecf426d/attachment.html>


More information about the swift-users mailing list