The workaround I gave you was overly simplistic.

You should take a look at the sample makefiles provided
for examples of what compilation options to use.

In particular, you may need to define SQLITE_CORE
for your files.  This flag is used to control the definition
of sqlite3_api in the sqlite2ext.h header file.   Typically,
you do not need to worry about this define, but
depending on your build environment and options,
you may need to adjust its use.



On Tue, Feb 17, 2009 at 9:27 AM, Ian Thomas <tho...@ccdc.cam.ac.uk> wrote:
> Hello again,
>
> Although the previous suggestion does fix the linker problem for VS2005
> (Release and Debug), and for the VS2003 Debug build, I still cannot link
> the Release build in VS2003. With the 'rtree.c' source file excluded I
> now get this similar error message:
>
> ----
> Linking...
> fts3_tokenizer.obj : error LNK2005: _sqlite3_api already defined in fts3.obj
> fts3_tokenizer.obj : warning LNK4006: _sqlite3_api already defined in
> fts3.obj; second definition ignored
> ----
>
> I am using FTS3 so I cannot disable this optional module. Any ideas please?
>
> Thanks again,
>
> Ian
>
>
> Ian Thomas wrote:
>> Hi Shane,
>>
>> Thanks very much for the suggestion. I excluded the 'rtree.c' source
>> file from my build configuration and it now links fine (release and debug).
>>
>> I guess there's still an underlying issue but as I don't need the rtree
>> module it doesn't affect me!
>>
>> Thanks again,
>>
>> Ian
>>
>>
>> Shane Harrelson wrote:
>>
>>> rtree support is an extension to SQLite
>>> and is not needed to use the core functionality.
>>> Try leaving the rtree source files out of
>>> your builds to see if this corrects your
>>> problem.  You might also consider using
>>> the SQLITE_OMIT_LOAD_EXTENSION
>>> option as well.
>>>
>>> http://www.sqlite.org/compile.html
>>>
>>>
>>> On Mon, Feb 16, 2009 at 9:29 AM, Ian Thomas <tho...@ccdc.cam.ac.uk> wrote:
>>>
>>>
>>>> Hello,
>>>>
>>>> I'm trying to compile my own debug build of SQLite v3.6.3 in Visual
>>>> Studio 2005 so that I can step through a problem I'm having with my
>>>> application. I have followed the instructions found here:
>>>>
>>>> http://www.sqlite.org/cvstrac/wiki?p=HowToCompileWithVsNet
>>>>
>>>> Using the standard v3.6.3 source tree (not the amalgamation version)
>>>> everything compiles fine but fails to link with this error:
>>>>
>>>> 1>rtree.obj : error LNK2005: _sqlite3_api already defined in
>>>> fts3_tokenizer.obj
>>>> 1>   Creating library
>>>> D:\x_mirror\buildman\tools\sqlite-3.6.3\SQLiteVS2005\Debug\SQLiteVS2005.lib
>>>> and object
>>>> D:\x_mirror\buildman\tools\sqlite-3.6.3\SQLiteVS2005\Debug\SQLiteVS2005.exp
>>>> 1>D:\x_mirror\buildman\tools\sqlite-3.6.3\SQLiteVS2005\Debug\SQLiteVS2005.dll
>>>> : fatal error LNK1169: one or more multiply defined symbols found
>>>>
>>>> I have only two SQLite preprocessor defines set in my project:
>>>>
>>>> SQLITE_ENABLE_COLUMN_METADATA
>>>> SQLITE_ENABLE_FTS3
>>>>
>>>> I get this error both with and without the SQLITE_ENABLE_FTS3 define.
>>>>
>>>> I get the same linker error when trying to build SQLite v3.6.10 and when
>>>> trying to use Visual Studio 2003 instead of 2005.
>>>>
>>>> I'm sure there must be an easy fix for this problem - any advice would
>>>> be really appreciated. I imagine I could use the /FORCE:MULTIPLE linker
>>>> option to get past this but I'm reluctant to do so without checking first.
>>>>
>>>> Thanks in advance,
>>>>
>>>> Ian Thomas
>>>>
>>>>
>>>> LEGAL NOTICE
>>>> Unless expressly stated otherwise, information contained in this
>>>> message is confidential. If this message is not intended for you,
>>>> please inform postmas...@ccdc.cam.ac.uk and delete the message.
>>>> The Cambridge Crystallographic Data Centre is a company Limited
>>>> by Guarantee and a Registered Charity.
>>>> Registered in England No. 2155347 Registered Charity No. 800579
>>>> Registered office 12 Union Road, Cambridge CB2 1EZ.
>>>> _______________________________________________
>>>> sqlite-users mailing list
>>>> sqlite-users@sqlite.org
>>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>>
>>>
>>
>>
>
> --
> Ian Thomas
> Scientific Software Engineer
> CCDC
> 12 Union Road
> Cambridge
> CB2 1EZ
> UK
>
> Tel - +44 1223 763884
>
>
> LEGAL NOTICE
> Unless expressly stated otherwise, information contained in this
> message is confidential. If this message is not intended for you,
> please inform postmas...@ccdc.cam.ac.uk and delete the message.
> The Cambridge Crystallographic Data Centre is a company Limited
> by Guarantee and a Registered Charity.
> Registered in England No. 2155347 Registered Charity No. 800579
> Registered office 12 Union Road, Cambridge CB2 1EZ.
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to