<div>sorry, i made mistake on compiling. It still report the same link error.</div><div><br></div><div>Yang<br><div class="gmail_quote"><div>On Wed, Jan 4, 2017 at 11:20 PM Yang Yang &lt;<a href="mailto:cometyang@gmail.com">cometyang@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_msg"><div class="gmail_msg">Thanks.</div>It compiled successfully now under linux.<div class="gmail_msg"><br class="gmail_msg"></div></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">2017-01-04 12:29 GMT-06:00 Joe Groff <span class="gmail_msg">&lt;<a href="mailto:jgroff@apple.com" class="gmail_msg" target="_blank">jgroff@apple.com</a>&gt;</span>:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="gmail_msg"><br class="gmail_msg"><br><br>&gt; On Dec 30, 2016, at 11:17 AM, Yang Yang via swift-users &lt;<a href="mailto:swift-users@swift.org" class="gmail_msg" target="_blank">swift-users@swift.org</a>&gt; wrote:<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br></span><div class="gmail_msg"><div class="m_-5854707686072664887h5 gmail_msg">&gt; I try to wrap a c library in swift package named Test.<br class="gmail_msg"><br><br>&gt; The code looks like this:<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; Test1.h<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; struct MyParams {<br class="gmail_msg"><br><br>&gt;       int (*func)();<br class="gmail_msg"><br><br>&gt; };<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; typedef struct MyParams MyParams;<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; Test2.h<br class="gmail_msg"><br><br>&gt; #include &quot;Test1.h&quot;<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; static int test(){<br class="gmail_msg"><br><br>&gt;   return 0;<br class="gmail_msg"><br><br>&gt; }<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; void myTest()<br class="gmail_msg"><br><br>&gt; {<br class="gmail_msg"><br><br>&gt;       MyParams params;<br class="gmail_msg"><br><br>&gt;       params.func = test;<br class="gmail_msg"><br><br>&gt; }<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; Then I try to import the package into swift code and use<br class="gmail_msg"><br><br>&gt; in Test.swift.<br class="gmail_msg"><br><br>&gt; ************************<br class="gmail_msg"><br><br>&gt; import Test<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; class TestSwift {<br class="gmail_msg"><br><br>&gt;   func runtest(){<br class="gmail_msg"><br><br>&gt;     myTest()<br class="gmail_msg"><br><br>&gt;   }<br class="gmail_msg"><br><br>&gt; }<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; However, the compiler report link error:<br class="gmail_msg"><br><br>&gt; function myTest: error: undefined reference to &#39;test&#39;<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; If I comment out<br class="gmail_msg"><br><br>&gt; &quot;params.func = test;&quot; in myTest.<br class="gmail_msg"><br><br>&gt;<br class="gmail_msg"><br><br>&gt; It successfully build. How should I handle this situation?<br class="gmail_msg"><br><br><br class="gmail_msg"><br><br></div></div>Try making `test` static inline instead of just static.<br class="gmail_msg"><br><br><span class="m_-5854707686072664887HOEnZb gmail_msg"><font color="#888888" class="gmail_msg"><br class="gmail_msg"><br><br>-Joe<br class="gmail_msg"><br><br><br class="gmail_msg"><br><br></font></span></blockquote></div><br class="gmail_msg"></div><br><br></blockquote></div></div>