I simplified your example package and posted a bug report here: https://bugs.swift.org/browse/SR-3556
On Thu, Jan 5, 2017 at 9:59 PM, Yang Yang via swift-users < swift-users@swift.org> wrote: > sorry, i made mistake on compiling. It still report the same link error. > > Yang > > On Wed, Jan 4, 2017 at 11:20 PM Yang Yang <comety...@gmail.com> wrote: > >> Thanks. >> It compiled successfully now under linux. >> >> >> 2017-01-04 12:29 GMT-06:00 Joe Groff <jgr...@apple.com>: >> >> >> >> >> > On Dec 30, 2016, at 11:17 AM, Yang Yang via swift-users < >> swift-users@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? >> >> >> >> >> >> Try making `test` static inline instead of just static. >> >> >> >> >> >> -Joe >> >> >> >> >> >> >> >> >> > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > > -- Ankit
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users