This API is available in SQLite only if you compile with
SQLITE_ENABLE_COLUMN_METADATA defined. Obviously you don't compile
with this option and don't need it, so just remove these function
names from .def file.

Pavel

On Thu, Dec 17, 2009 at 10:30 AM, Kurt D. Knudsen
<kknud...@zystemsgo.com> wrote:
> Yeah, seems to be giving me odd Linker errors now. I'm stumped. The .def file 
> is in the project's folder and is referenced in the properties page. When I 
> compile SQLite3, I get the following:
>
> 1>Compiling...
> 1>sqlite3.c
> 1>Linking...
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_column_database_name
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_column_database_name16
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_column_origin_name
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_column_origin_name16
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_column_table_name
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_column_table_name16
> 1>sqlite3.def : error LNK2001: unresolved external symbol 
> sqlite3_table_column_metadata
> 1>D:\SQLite\Release\sqlite3.lib : fatal error LNK1120: 7 unresolved externals
> 1>Build log was saved at "file://d:\SQLite\sqlite\Release\BuildLog.htm"
> 1>sqlite3 - 8 error(s), 0 warning(s)
> ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
>
> Any ideas?
>
> -----Original Message-----
> From: sqlite-users-boun...@sqlite.org 
> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Kurt D. Knudsen
> Sent: Thursday, December 17, 2009 10:19 AM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] Compiling SQLite as .lib increases projectsizeandbuild 
> time?
>
> Hi Pavel,
>
> I think that's the issue. The .def file was never included. I put the .def 
> file in the sqlite's project folder and am getting linker errors when I 
> compile. I probably didn't reference it properly, I'll report back in a few 
> minutes with success or failure.
>
>
> --- Igor ---
> In Sqlite project, check Properties | Linker | Advanced | Import Library. 
> Make sure it's not empty (normally, you should see something like 
> $(OutputDir)$(TargetName).lib in there).
>
> Linker produces an import library (a LIB file) as a side-effect or building a 
> DLL (unless this is suppressed). Projects using the DLL need the import 
> library to link to.
>
> Igor Tandetnik
>
> --
> It is set to generate a .lib according to that setting, but from what Pavel 
> said, it never does because the .def file is missing from the project. I've 
> never heard of .def files before so this is a new issue for me. This is all 
> quite exciting :)
>
> Thanks,
>
> Kurt
>
> -----Original Message-----
> From: sqlite-users-boun...@sqlite.org 
> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Pavel Ivanov
> Sent: Thursday, December 17, 2009 10:04 AM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] Compiling SQLite as .lib increases project sizeandbuild 
> time?
>
>> If I remove the dependency on sqlite from HouseKeeper, it gives linker
>> errors with unresolved symbols for sqlite3_* functions. Adding sqlite as
>> a dependency to HouseKeeper causes it to look for the sqlite.lib file.
>
> Make sure that .def file is included in you Sqlite project. When
> compiling project as dll, compiler generates stub .lib file anyway for
> linking with anybody who will need this dll. But if you don't include
> .def file and thus don't define any functions to export from dll,
> compiler doesn't generate .lib file and it can cause the error you
> see.
>
> Pavel
>
> On Thu, Dec 17, 2009 at 9:49 AM, Kurt D. Knudsen <kknud...@zystemsgo.com> 
> wrote:
>> Pavel,
>>
>> I have not defined it in the Linker properties. I have a solution called
>> 'SQLite Test' and inside it consists of 4 projects:
>>
>> HouseKeeper - compiles as .dll
>> Common - compiles as .dll
>> SQLiteTest - compiles as .exe
>> Sqlite - forced to compile as .lib (Why?!)
>>
>> Under Project Dependencies:
>> * HouseKeeper is dependent on Common and sqlite.
>> * Common is dependent on just sqlite
>> * SQLiteTest is dependent on HouseKeeper, Common, and sqlite
>>
>> If I remove the dependency on sqlite from HouseKeeper, it gives linker
>> errors with unresolved symbols for sqlite3_* functions. Adding sqlite as
>> a dependency to HouseKeeper causes it to look for the sqlite.lib file.
>>
>> ---
>>
>> Teg,
>>
>> I'd like to keep it an external .dll file if possible, it doesn't make
>> sense to me to have it added to each project that uses SQLite. SQLite
>> is, as stated above, its own project inside of the solution.
>>
>> How do I go about making the other projects reference the .dll instead
>> of requiring the .lib? I should note that I am not the original author
>> of this solution, just modifying it to use SQLite instead of flat-files.
>> So I am unsure how the other developer set the solution up since
>> HouseKeeper and Common both compile as .dll.
>>
>> I've been trying to contact the original developer that we hired but
>> can't seem to get a hold of him since we're in different time zones.
>> I'll try again to see if he can help me properly set up the solution if
>> I am making no sense here :)
>>
>> I hope you guys can help me out; it'd make life quite a bit easier.
>>
>> Thanks,
>>
>> Kurt
>>
>> -----Original Message-----
>>> 1>LINK : fatal error LNK1181: cannot open input file
>>> '..\release\sqlite.lib'
>>
>> Is this filename something that you wrote yourself in configuration of
>> your project? If you compile something as dll you don't need to mention
>> its library as additional linking source in dependent projects.
>>
>> Pavel
>>
>> -----Original Message-----
>> From: sqlite-users-boun...@sqlite.org
>> [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Teg
>> Sent: Thursday, December 17, 2009 9:13 AM
>> To: General Discussion of SQLite Database
>> Subject: Re: [sqlite] Compiling SQLite as .lib increases project size
>> andbuild time?
>>
>> Hello Kurt,
>>
>> The size increase is because you're including code IN the program
>> instead of having it in a DLL. That's one of the benefits of DLLs. The
>> second thing, the build time thing is because you've chosen to build
>> SQLite each and every time you build the entire project. That's purely
>> a design choice in how you build. It's how I do it too. Your other
>> option is to make Sqlite it's own project and only build it when it
>> changes but, link it in by manually adding the lib path and lib name
>> to the linker.
>>
>> I have some projects I build every time when doing a release, like
>> SQlite and I have some projects like OpenSLL where I build once and
>> only reference the lib.
>>
>> I find that SQlite builds very quickly. Takes about 20 seconds in
>> release 64 bits with full optimization. I could make it faster if I
>> turned on pre-compiled headers but, it doesn't seem worth the effort.
>> During development, it only build when it changes.
>>
>> Perhaps you only have one project and you've lumped everything
>> together? I'd break SQlite out into it's own project then use project
>> dependencies to make the linker include it.
>>
>> C
>>
>> Thursday, December 17, 2009, 9:01:04 AM, you wrote:
>>
>> KDK> Hi all,
>>
>> KDK>
>>
>> KDK> Since we're moving our project over from flat-files to an SQL DB,
>> I've
>> KDK> noticed that projects that utilize SQLite3 have increased to over
>> 500k
>> KDK> in size. Their original sizes were between 50-100k. Also, the build
>> KDK> times have increased dramatically. I have SQLite added as a
>> separate
>> KDK> project in my solution (Visual Studio 2008) and have its
>> Configuration
>> KDK> Type as .lib. If I set it to .dll, then the rest of the projects
>> fail to
>> KDK> link properly stating:
>>
>> KDK>
>>
>> 1>>LINK : fatal error LNK1181: cannot open input file
>> KDK> '..\release\sqlite.lib'
>>
>> KDK>
>>
>> KDK> I'm curious to know if this is normal behavior and if SQLite must
>> be
>> KDK> compiled as a .lib as opposed to a .dll? The odd thing is, I have
>> other
>> KDK> projects in the solution that are set to compile as a .dll and they
>> link
>> KDK> fine with each other.
>>
>> KDK>
>>
>> KDK> Relevant information:
>>
>> KDK>
>>
>> KDK> Visual Studio 2008 Professional
>>
>> KDK> Compiling as Release
>>
>> KDK>
>>
>> KDK> Let me know if you need more information.
>>
>> KDK>
>>
>> KDK> Thanks,
>>
>> KDK>
>>
>> KDK> Kurt
>>
>> KDK> _______________________________________________
>> KDK> sqlite-users mailing list
>> KDK> sqlite-users@sqlite.org
>> KDK> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>>
>>
>> --
>> Best regards,
>>  Teg                            mailto:t...@djii.com
>>
>> _______________________________________________
>> 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
>>
> _______________________________________________
> 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
> _______________________________________________
> 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