Hi,<div><br></div><div>Thanks! Yes that fixed things. I was using another straight C library that worked just fine so didn&#39;t realize this could be required.</div><div><br>Christine<br><br><div class="gmail_quote">On Fri, Mar 4, 2011 at 1:15 AM, Takuya OSHIMA <span dir="ltr">&lt;<a href="mailto:oshima@eng.niigata-u.ac.jp">oshima@eng.niigata-u.ac.jp</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I guess &#39;extern &quot;C&quot;&#39; is missing in the declaration of fioOpen?<br>
<br>
Takuya<br>
<br>
Takuya OSHIMA, Ph.D.<br>
Faculty of Engineering, Niigata University<br>
8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN<br>
<br>
From: Christine Corbett Moran &lt;<a href="mailto:corbett@physik.uzh.ch">corbett@physik.uzh.ch</a>&gt;<br>
Subject: [Paraview] mysterious linker error for custom library in custom PV Plugin<br>
Date: Thu, 3 Mar 2011 16:57:48 +0100<br>
<div><div></div><div class="h5"><br>
&gt; I have a problem with building/linking to an external library I&#39;ve called<br>
&gt; libfio. The library builds, and I can link programs against it from the<br>
&gt; command line. However my final plugin always comes up with a &quot;ld: symbol(s)<br>
&gt; not found&quot;. I have several other libraries which are linked against just<br>
&gt; fine in my plugin, it is only this one which creates a problem.<br>
&gt;<br>
&gt; I&#39;m on OS X 10.6, using gcc version 4.2.1 (Apple Inc. build 5664). I have<br>
&gt; tried building it both as a shared and static library, from both CMake and<br>
&gt; externally (then linking from within CMake). I have several other libraries<br>
&gt; I rely on which function perfectly well under any of the previous setups:<br>
&gt; {shared,static} x {built within plugin cmake, built externally} x {c,cxx}.<br>
&gt;  However with this set of .c files I always get a linking error, and it&#39;s<br>
&gt; the same for any of the previous permutations. Under any configuration I&#39;m<br>
&gt; able to link against it from the command line. That is to say for the<br>
&gt; example for a shared library built within the PV plugin CMake: libfio.dylib<br>
&gt; is created within my build directory ParaViz_build, and doing e.g.  gcc<br>
&gt; grafic2csv.c -lfio<br>
&gt; -L/Users/corbett/Documents/Projects/pvaddons/ParaViz/ParaViz_build/  -o<br>
&gt; grafic2csv has no linking errors, where grafic2csv contains the identical<br>
&gt; code which later offends the linker within my plugin (see below for sample).<br>
&gt;<br>
&gt; Example make output for a shared library built within the PV Plugin CMake:<br>
&gt; ...<br>
&gt; [ 11%] Built target TipsyHelpers<br>
&gt; [ 13%] Building C object CMakeFiles/fio.dir/fio/fio.c.o<br>
&gt; [ 14%] Building C object CMakeFiles/fio.dir/fio/romberg.c.o<br>
&gt; Linking C shared library libfio.dylib<br>
&gt; [ 14%] Built target fio<br>
&gt; [ 16%] Building C object CMakeFiles/SQLitelib.dir/sqlitelib/sqlite3.c.o<br>
&gt; Linking C static library libSQLitelib.a<br>
&gt; [ 16%] Built target SQLitelib<br>
&gt; ..<br>
&gt; [ 98%] Building CXX object<br>
&gt; CMakeFiles/AstroVizPlugin.dir/AstroVizPlugin_Plugin.cxx.o<br>
&gt; [100%] Building CXX object<br>
&gt; CMakeFiles/AstroVizPlugin.dir/moc_AstroVizPlugin_Plugin.cxx.o<br>
&gt; Linking CXX shared library libAstroVizPlugin.dylib<br>
&gt; Undefined symbols:<br>
&gt;   &quot;fioOpen(char const*, double, double)&quot;, referenced from:<br>
&gt;       vtkGraficReader::RequestData(vtkInformation*, vtkInformationVector**,<br>
&gt; vtkInformationVector*)in vtkGraficReader.cxx.o<br>
&gt; ld: symbol(s) not found<br>
&gt; collect2: ld returned 1 exit status<br>
&gt; make[2]: *** [libAstroVizPlugin.dylib] Error 1<br>
&gt; make[1]: *** [CMakeFiles/AstroVizPlugin.dir/all] Error 2<br>
&gt; make: *** [all] Error 2<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Example CMake for building a static library with the PV Plugin CMake:<br>
&gt;<br>
&gt; ADD_LIBRARY(<br>
&gt; fio<br>
&gt; STATIC<br>
&gt; fio/fio.c<br>
&gt; fio/romberg.c<br>
&gt; )<br>
&gt; SET_TARGET_PROPERTIES(fio PROPERTIES LINKER_LANGUAGE C)<br>
&gt; SET_TARGET_PROPERTIES(fio PROPERTIES COMPILE_FLAGS &quot;-fPIC&quot;)<br>
&gt;<br>
&gt; TARGET_LINK_LIBRARIES(<br>
&gt; AstroVizPlugin<br>
&gt; fio<br>
&gt; TipsyHelpers<br>
&gt; SQLitelib<br>
&gt; )<br>
</div></div></blockquote></div><br></div>