[swift-users] question about swift and c callbacks

Yang Yang cometyang at gmail.com
Tue Jan 3 22:44:25 CST 2017


Hi Michael,

The attachment is the packages I created for testing purpose.
You can check it.

Thanks for the help,

Yang

2016-12-30 18:15 GMT-06:00 Michael Gottesman <mgottesman at apple.com>:

> Can you create a quick tarball of the swiftpm project. Would expedite the
> answering of the question.
>
> Michael
>
> > On Dec 30, 2016, at 11:17 AM, Yang Yang via swift-users <
> swift-users at swift.org> wrote:
> >
> > 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
> > _______________________________________________
> > swift-users mailing list
> > swift-users at swift.org
> > https://lists.swift.org/mailman/listinfo/swift-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170103/a8e08eab/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Test1.tar.gz
Type: application/x-gzip
Size: 93293 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170103/a8e08eab/attachment.gz>


More information about the swift-users mailing list