The other ones seem to be defined as static functions, which may be why they are not also causing errors. Going by the mantra &quot;if is isn&#39;t broke, don&#39;t fix it&quot;, I pushed the simple 2-line change to mangle that single symbol. VTK master should be fixed now.<div>
<br></div><div>Jeff<br><br><div class="gmail_quote">On Mon, Jan 17, 2011 at 12:31 PM, Dean Inglis <span dir="ltr">&lt;<a href="mailto:dean.inglis@camris.ca">dean.inglis@camris.ca</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Jeff,<br>
<br>
If I change the method call to vtk_winCurrentTime (line 28935)<br>
and again on line 29039, then everything links statically.  It<br>
is just this one method though, and not all the others defined<br>
in :<br>
<br>
static vtk_sqlite3_vfs winVfs = {<br>
1, /* iVersion */<br>
sizeof(winFile), /* szOsFile */<br>
MAX_PATH, /* mxPathname */<br>
0, /* pNext */<br>
&quot;win32&quot;, /* zName */<br>
0, /* pAppData */<br>
winOpen, /* xOpen */<br>
winDelete, /* xDelete */<br>
winAccess, /* xAccess */<br>
winFullPathname, /* xFullPathname */<br>
winDlOpen, /* xDlOpen */<br>
winDlError, /* xDlError */<br>
winDlSym, /* xDlSym */<br>
winDlClose, /* xDlClose */<br>
winRandomness, /* xRandomness */<br>
winSleep, /* xSleep */<br>
vtk_winCurrentTime, /* xCurrentTime */<br>
winGetLastError /* xGetLastError */<br>
};<br>
<br>
Dean<br>
<br>
----- Original Message ----- From: Jeff Baumes<br>
To: Dean Inglis<br>
Cc: <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
Sent: Monday, January 17, 2011 12:05 PM<br>
Subject: Re: [vtkusers] VTK + Qt sqlite link error<div><div></div><div class="h5"><br>
<br>
<br>
On Mon, Jan 17, 2011 at 10:59 AM, Dean Inglis &lt;<a href="mailto:dean.inglis@camris.ca" target="_blank">dean.inglis@camris.ca</a>&gt; wrote:<br>
<br>
Im trying to build vtk 5.7 and Qt 4.7.1 statically with VS2010 on Win 7, 32<br>
bit.<br>
Qt builds fine but I have run into the following link error:<br>
<br>
Linking CXX executable ..\..\..\..\bin\QVTKCxxTests.exe<br>
vtksqlite.lib(vtk_sqlite3.c.obj) : error LNK2005: _winCurrentTime already<br>
define<br>
d in QtSql.lib(sqlite3.obj)<br>
..\..\..\..\bin\QVTKCxxTests.exe : fatal error LNK1169: one or more multiply<br>
def<br>
ined symbols found<br>
LINK failed. with 2<br>
<br>
Here are the two locations where this method is defined:<br>
<br>
VTK\Utilities\vtksqlite\vtk_sqlite3.c(28935):int<br>
winCurrentTime(vtk_sqlite3_vfs *pVfs, double *prNow){<br>
<br>
qt-4.7.1\src\3rdparty\sqlite\sqlite3.c(28987):int winCurrentTime(sqlite3_vfs<br>
*pVfs, double *prNow){<br>
<br>
there is an option for configuring the build of Qt to use sqlite from the<br>
operating system.  Is this what I should do?<br>
<br>
<br>
<br>
The VTK version of sqlite is supposed to have mangled symbols with the prefix &quot;vtk_&quot; so that this doesn&#39;t happen. Could you try replacing all occurances of winCurrentTime with vtk_winCurrentTime in the VTK version and see if it compiles correctly?<br>

<br>
<br>
Jeff <br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Jeff Baumes, Ph.D.<br>Technical Lead, Kitware Inc.<br>(518) 881-4932<br>
</div>