> 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

Reply via email to