Precompiled binaries for windows

Design-Time Components for Visual Studio Setup Packages

The setup packages, which contain the Design-Time Components
for Visual Studio
are no longer officially
supported and have now been moved to
their own download page.

Runtime Library Notes

All downloadable packages on this web page that do not include
the word «static» in their file name require the
appropriate version (e.g. 2005, 2008, 2010, 2012, 2013, 2015, 2017) of
the Microsoft Visual C++ Runtime Library, to be successfully installed
on the target machine, prior to making use of the executables contained
therein.

Latest Microsoft Visual C++ Runtime Library Downloads

For detailed information about the latest downloads for each Microsoft
Visual C++ Runtime Library release, please refer to the following page:
  Latest Supported
Visual C++ Downloads
 

Support Notes — Downloadable Packages

This page contains all supported downloadable packages (e.g. sources,
binaries, etc) for the current release version of the official
«System.Data.SQLite» project. This page and the associated
NuGet packages
are the only official distribution points for these downloadable
packages. If any of the downloadable packages are obtained elsewhere,
it is very important to compare their SHA1 hashes to the corresponding
hashes listed below in order to make sure the contained files are the
same.

Support Notes — Other Projects

There are several other projects, with widely varying levels of support
and compatibility, known to use the similar names. At least one of
those projects is an unofficial fork of the legacy 1.0.66.0 release,
modified (by a third-party) to work with Visual Studio 2010 (or higher).
Only the software contained on this page is directly
supported by the maintainers of this project
(i.e. the SQLite Development Team)
as we do not necessarily have any knowledge of the other projects that
use the same (or a similar) name. That being said, if a particular
question is related to the core SQLite native library itself, one of the
SQLite support options
is probably the best way to get an answer.

Windows Embedded Compact

The Precompiled
Binaries for Windows CE (.NET Compact Framework) section of this
page contains several binary packages for Windows Embedded Compact
2013. Further information on integrating SQLite into Windows Embedded
Compact 2013 can be found at the following web site:
  SQLite for Windows
Embedded Compact 2013
 

Release Notes

The «release notes», which contain lists of notable changes
associated with each officially released version, is available on the
News page.

Package Types

There are a wide variety of downloadable packages on this page.
Each of them is designed to meet the requirements of a particular
development and/or deployment scenario.

The first step is to determine if the package is to be installed (or
used) on a developer machine or a customer machine.

 
  • The source packages are intended primarily for people interested in
    studying the source code that corresponds to a particular release
    version of the project. The source packages contain no binaries.
    Those interested in studying the latest source code and/or tracking
    the unreleased changes should consider accessing the
    Fossil repository
    instead.
  • The binary packages are intended to be used by developers in order
    to obtain the assembly binaries necessary for development and
    deployment of their applications onto customer machines via
    XCOPY
    deployment.
 
All the «bundle» packages contain the
«System.Data.SQLite.dll» mixed-mode assembly. These packages
should only be used in cases where the assembly binary
must be deployed to the
Global
Assembly Cache for some reason (e.g. to support some legacy
application on customer machines).

All the «static» packages contain either native or mixed-mode
assembly binaries linked statically to the appropriate version of the
Visual C++
runtime. Typically, these packages are used in cases where customer
machines may not have the necessary version of the Visual C++ runtime
installed and it cannot be installed due to limited privileges.

The next step is to identify the version of the
.NET Framework
being targeted by the application.
Generally, assembly binaries linked against the
.NET Framework
2.0 (or the
.NET Framework
3.5) will work with the
.NET Framework
4.0 (or higher); however, this is less than ideal. Furthermore,
assemblies linked against the .NET Framework 4.0 (or higher)
cannot be loaded by any versions of the .NET Framework prior to
4.0.

Using Native Library Pre-Loading

The final step is to identify the target processor architecture on both
the development and customer machines. Generally,
x86 binaries will work on
an x64 machine running
Windows (using
WoW64). However, there
is a problem when using managed code. If the executable that starts the
process consists entirely of managed code, it will run with the native
processor architecture of the machine, which will be x64 on an x64
machine. Later on, this will cause assemblies containing any native
code compiled for x86 (e.g. the «System.Data.SQLite.dll»
mixed-mode assembly, the «SQLite.Interop.dll» native interop
assembly, or the «sqlite3.dll» native library) to fail to
load, typically resulting in a
BadImageFormatException being thrown.

If the development and customer machines may have different processor
architectures, more than one binary package may be required. For this
situation, using the native library pre-loading feature is highly
recommended. It is available as of version 1.0.80.0 and enabled by
default. In order to take advantage of this feature, the separate
managed and interop assemblies must be used with XCOPY deployment
(i.e. this feature is not supported by the mixed-mode assembly, nor when
the assembly is deployed to the global assembly cache), resulting in an
application deployment that looks something like this:

 
  • <bin>\App.exe (optional, managed-only application
    executable assembly)
  • <bin>\App.dll (optional, managed-only application
    library assembly)
  • <bin>\System.Data.SQLite.dll (required, managed-only
    core assembly)
  • <bin>\System.Data.SQLite.Linq.dll (optional,
    managed-only LINQ assembly)
  • <bin>\System.Data.SQLite.EF6.dll (optional,
    managed-only EF6 assembly)
  • <bin>\x86\SQLite.Interop.dll (required, x86 native
    interop assembly)
  • <bin>\x64\SQLite.Interop.dll (required, x64 native
    interop assembly)
 
The string «<bin>» above represents the directory
where the application binaries are to be deployed on the target machine.
With the native library pre-loading feature enabled and the application
deployment shown above, the System.Data.SQLite managed-only assembly
will attempt to automatically detect the processor architecture of the
current process and pre-load the appropriate native library.

Advanced Configuration Settings

If native library pre-loading feature does not work properly in your
environment, it can be disabled by setting the
«No_PreLoadSQLite» environment variable (i.e. to anything)
prior to loading and/or using the System.Data.SQLite assembly. There
are several more environment variables that can be used to influence the
behavior of the native library pre-loading feature, documented
here.

Use of environment variables for configuration settings is not
supported by the .NET Compact Framework builds of System.Data.SQLite,
due to limitations imposed by the platform itself.

Alternatively, as of version 1.0.91.0, all configuration settings can be
specified via an optional
XML configuration file.
Using the XML configuration file when the primary System.Data.SQLite
assembly («System.Data.SQLite.dll») is being executed from the
Global Assembly Cache is unsupported.

For each configuration setting, the associated environment variable
value, if present, will override the value specified via the XML
configuration file.

For the full .NET Framework, the XML configuration file must be
named «System.Data.SQLite.dll.config» and it
must be present in the
base directory for the application domain
or the directory containing the primary System.Data.SQLite
assembly as reported by its
location
property; otherwise, it will be ignored.

For the .NET Compact Framework, the XML configuration file must
be named «System.Data.SQLite.dll.config» and it
must be present in the directory containing the primary
System.Data.SQLite assembly; otherwise, it will be ignored.

Deployment Guidelines

To summarize the above:
 
  • Using XCOPY deployment in conjunction with the native library
    pre-loading feature, especially for customer machines, is highly
    recommended.
  • Using the Global Assembly Cache (at all) is not recommended;
    therefore, the «bundle» packages should be avoided unless
    deemed absolutely necessary.
  • Using the «static» assembly binaries on development
    machines is not recommended; therefore, the «static»
    packages should be avoided if all the target machines already have
    the Visual C++ runtime installed or it can be easily deployed
    beforehand.
  • Choosing the package matching the version of the .NET Framework
    being targeted is highly recommended.
  • Choosing the package matching the target processor architecture (for
    both development and customer machines) is almost certainly required
    for proper operation. Using the native library pre-loading feature
    should help with this.
 

List of Release Packages

Source Code
 

sqlite-netFx-source-1.0.119.0.zip

(8.20 MiB)

This ZIP archive contains all current source code for System.Data.SQLite
1.0.119.0 (3.46.1) combined into a single archive file.

(sha1: 9f7193f37e7aaa10aaf58f75c90591aa93b30260)
 

sqlite-netFx-full-source-1.0.119.0.zip

(24.66 MiB)

This ZIP archive contains all current source code for System.Data.SQLite
1.0.119.0 (3.46.1) and the extra files needed to run the unit test suite,
combined into a single archive file.

(sha1: f09b845097f71dea6f448d2479d614d59643ae7a)
Precompiled Binaries for 32-bit Windows (.NET Framework 2.0 SP2)
 

sqlite-netFx20-binary-bundle-Win32-2005-1.0.119.0.zip

(2.32 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2005 SP1 runtime for x86 and the .NET
Framework 2.0 SP2 are required.

(sha1: 95483bf28b9ec1bddb7027a67eaad66f848395ca)
 

sqlite-netFx20-binary-Win32-2005-1.0.119.0.zip

(2.31 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2005 SP1
runtime for x86 and the .NET Framework 2.0 SP2 are required.

(sha1: 54c144ce814f50f46957f110ae09d289596af0dc)
Precompiled Binaries for 64-bit Windows (.NET Framework 2.0 SP2)
 

sqlite-netFx20-binary-bundle-x64-2005-1.0.119.0.zip

(2.66 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2005 SP1 runtime for x64 and the .NET
Framework 2.0 SP2 are required.

(sha1: 5d5e977f46e3bc90725f5635ed64763631b94e67)
 

sqlite-netFx20-binary-x64-2005-1.0.119.0.zip

(2.65 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2005 SP1
runtime for x64 and the .NET Framework 2.0 SP2 are required.

(sha1: 03729134274c946bae66a3bce429b92b888e33d5)
Precompiled Binaries for 32-bit Windows (.NET Framework 3.5 SP1)
 

sqlite-netFx35-binary-bundle-Win32-2008-1.0.119.0.zip

(2.77 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2008 SP1 runtime for x86 and the .NET
Framework 3.5 SP1 are required.

(sha1: dbdb3599c7a64204ed4dc96a9834495705cb904c)
 

sqlite-netFx35-binary-Win32-2008-1.0.119.0.zip

(2.76 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2008 SP1
runtime for x86 and the .NET Framework 3.5 SP1 are required.

(sha1: 5ce22aed0be705a80a48f3fa20100230e5ba4d82)
Precompiled Binaries for 64-bit Windows (.NET Framework 3.5 SP1)
 

sqlite-netFx35-binary-bundle-x64-2008-1.0.119.0.zip

(2.90 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2008 SP1 runtime for x64 and the .NET
Framework 3.5 SP1 are required.

(sha1: 0da1b6fbad48adf80fd4ea19b328c0290eee586e)
 

sqlite-netFx35-binary-x64-2008-1.0.119.0.zip

(2.89 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2008 SP1
runtime for x64 and the .NET Framework 3.5 SP1 are required.

(sha1: ba45ead734d6ef5fdedf2c0fb4b654b9d603f25b)
Precompiled Binaries for 32-bit Windows (.NET Framework 4.0)
 

sqlite-netFx40-binary-bundle-Win32-2010-1.0.119.0.zip

(3.03 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2010 SP1 runtime for x86 and the .NET
Framework 4.0 are required.

(sha1: 57427eff8bb8aa60c1df14303cb71d38fb00608f)
 

sqlite-netFx40-binary-Win32-2010-1.0.119.0.zip

(3.01 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2010 SP1
runtime for x86 and the .NET Framework 4.0 are required.

(sha1: 1d387738e4db8ac97252dd3de6816df2f1bc4966)
Precompiled Binaries for 64-bit Windows (.NET Framework 4.0)
 

sqlite-netFx40-binary-bundle-x64-2010-1.0.119.0.zip

(3.07 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2010 SP1 runtime for x64 and the .NET
Framework 4.0 are required.

(sha1: ff262aa62931db4489130ff0317c76beec8ec326)
 

sqlite-netFx40-binary-x64-2010-1.0.119.0.zip

(3.06 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2010 SP1
runtime for x64 and the .NET Framework 4.0 are required.

(sha1: c72ddfb06ae62a1cf7f8c8d30d77744565345c8f)
Precompiled Binaries for 32-bit Windows (.NET Framework 4.5)
 

sqlite-netFx45-binary-bundle-Win32-2012-1.0.119.0.zip

(2.90 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2012 Update 4 runtime for x86 and
the .NET Framework 4.5 are required.

(sha1: 42af6a4200ed4a7286619113ecb679110674cc71)
 

sqlite-netFx45-binary-Win32-2012-1.0.119.0.zip

(2.96 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2012
Update 4 runtime for x86 and the .NET Framework 4.5 are required.

(sha1: ceb305163cc54f8f60e3a8b1c5d3805b83d9d10c)
Precompiled Binaries for 64-bit Windows (.NET Framework 4.5)
 

sqlite-netFx45-binary-bundle-x64-2012-1.0.119.0.zip

(2.96 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2012 Update 4 runtime for x64 and
the .NET Framework 4.5 are required.

(sha1: 19e9480b8ff746fac38746aee2bdcc3a642758c2)
 

sqlite-netFx45-binary-x64-2012-1.0.119.0.zip

(3.06 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2012
Update 4 runtime for x64 and the .NET Framework 4.5 are required.

(sha1: 3bf26640a9d1dab39b123b4be035b3073fadad75)
Precompiled Binaries for 32-bit Windows (.NET Framework 4.5.1)
 

sqlite-netFx451-binary-bundle-Win32-2013-1.0.119.0.zip

(2.91 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2013 Update 2 runtime for x86 and the
.NET Framework 4.5.1 are required.

(sha1: 62d37a87ceb2179ed5c02423e0a1f4ddafc4e8a4)
 

sqlite-netFx451-binary-Win32-2013-1.0.119.0.zip

(2.97 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2013
Update 2 runtime for x86 and the .NET Framework 4.5.1 are required.

(sha1: 5534377583a78088f0fc2218c96a9bd9d70d9c48)
Precompiled Binaries for 64-bit Windows (.NET Framework 4.5.1)
 

sqlite-netFx451-binary-bundle-x64-2013-1.0.119.0.zip

(2.96 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2013 Update 2 runtime for x64 and the
.NET Framework 4.5.1 are required.

(sha1: c0ffa2bfaa9d1e29cf94d0dac5423768bf1fa4a5)
 

sqlite-netFx451-binary-x64-2013-1.0.119.0.zip

(3.06 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2013
Update 2 runtime for x64 and the .NET Framework 4.5.1 are required.

(sha1: 18f3acc73fb153db10420ac9852738913ee0247e)
Precompiled Binaries for 32-bit Windows (.NET Framework 4.6)
 

sqlite-netFx46-binary-bundle-Win32-2015-1.0.119.0.zip

(3.68 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2015 Update 3 runtime for x86 and the
.NET Framework 4.6 are required.

(sha1: f35e044ec94937abf1da8895e49f0b644f8ced8b)
 

sqlite-netFx46-binary-Win32-2015-1.0.119.0.zip

(3.91 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2015
Update 3 runtime for x86 and the .NET Framework 4.6 are required.

(sha1: 58b6e88ec612de6d6a7302ccdd0b27d414923c53)
Precompiled Binaries for 64-bit Windows (.NET Framework 4.6)
 

sqlite-netFx46-binary-bundle-x64-2015-1.0.119.0.zip

(3.71 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2015 Update 3 runtime for x64 and the
.NET Framework 4.6 are required.

(sha1: a6f3b28796ffcf72baf63fabef815265b44e95a9)
 

sqlite-netFx46-binary-x64-2015-1.0.119.0.zip

(4.04 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2015
Update 3 runtime for x64 and the .NET Framework 4.6 are required.

(sha1: 1cba807a273b4b40aeed86b13f080c60a442e2cf)
Precompiled Binaries for Mono on POSIX (.NET Framework 4.5.1)
 

sqlite-netFx451-binary-Mono-2013-1.0.119.0.zip

(1.35 MiB)

This binary package contains all the managed binaries for the Mono
version of the System.Data.SQLite 1.0.119.0 (3.46.1) package. The
Mono runtime (4.2.3.4 or
higher) is required.

(sha1: 257247747626700e756a17380ea686b305b50564)
Precompiled Binaries for the .NET Standard 2.0 (.NET Core 2.0)
 

sqlite-netStandard20-binary-1.0.119.0.zip

(0.33 MiB)

This binary package contains all the managed binaries for the .NET
Standard 2.0 version of the System.Data.SQLite 1.0.119.0 (3.46.1)
package. The .NET Core
runtime (2.0 or higher) is required.

(sha1: 216744ebeb08d334c3bb319ef076f4402d1d764b)
Precompiled Binaries for the .NET Standard 2.1 (.NET Core 3.0)
 

sqlite-netStandard21-binary-1.0.119.0.zip

(0.72 MiB)

This binary package contains all the managed binaries for the .NET
Standard 2.1 version of the System.Data.SQLite 1.0.119.0 (3.46.1)
package. The .NET Core
runtime (3.0 or higher) is required.

(sha1: 5d45e615862bf566055b8a213225212fe9278e46)
Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 2.0 SP2)
 

sqlite-netFx20-static-binary-bundle-Win32-2005-1.0.119.0.zip

(2.55 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2005 SP1 runtime for x86 is statically
linked. The .NET Framework 2.0 SP2 is required.

(sha1: 209e879dc8e3cbabdbd55421d5d4f2eaa2a1f882)
 

sqlite-netFx20-static-binary-Win32-2005-1.0.119.0.zip

(2.54 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2005 SP1
runtime for x86 is statically linked. The .NET Framework 2.0 SP2 is
required.

(sha1: 1f019d9a08b781f3b93341605d368aace666e005)
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 2.0 SP2)
 

sqlite-netFx20-static-binary-bundle-x64-2005-1.0.119.0.zip

(2.84 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2005 SP1 runtime for x64 is statically
linked. The .NET Framework 2.0 SP2 is required.

(sha1: f5f0f540866f53251d30f35022243ceaca8624e0)
 

sqlite-netFx20-static-binary-x64-2005-1.0.119.0.zip

(2.83 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2005 SP1
runtime for x64 is statically linked. The .NET Framework 2.0 SP2 is
required.

(sha1: 2559f4aac8b40d2061d6caa6dd089f9da8bf62ff)
Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 3.5 SP1)
 

sqlite-netFx35-static-binary-bundle-Win32-2008-1.0.119.0.zip

(3.01 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2008 SP1 runtime for x86 is statically
linked. The .NET Framework 3.5 SP1 is required.

(sha1: 4aad3c3ea1052fcd2066f1f5d097f48ded3e681a)
 

sqlite-netFx35-static-binary-Win32-2008-1.0.119.0.zip

(3.00 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2008 SP1
runtime for x86 is statically linked. The .NET Framework 3.5 SP1 is
required.

(sha1: c363996ccf21d4309d3c67756efdfbe59e2c9b35)
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 3.5 SP1)
 

sqlite-netFx35-static-binary-bundle-x64-2008-1.0.119.0.zip

(3.10 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2008 SP1 runtime for x64 is statically
linked. The .NET Framework 3.5 SP1 is required.

(sha1: fb43bd3ab06818a8334fc1bf1b85b37b25f37f74)
 

sqlite-netFx35-static-binary-x64-2008-1.0.119.0.zip

(3.08 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2008 SP1
runtime for x64 is statically linked. The .NET Framework 3.5 SP1 is
required.

(sha1: 6b4ceaab8a76302a2faaa7930f414bd5038ee05d)
Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.0)
 

sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.119.0.zip

(3.26 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2010 SP1 runtime for x86 is statically
linked. The .NET Framework 4.0 is required.

(sha1: 80b74cc2cc6f113a05bc16595aa48c78358fb0ea)
 

sqlite-netFx40-static-binary-Win32-2010-1.0.119.0.zip

(3.25 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2010 SP1
runtime for x86 is statically linked. The .NET Framework 4.0 is
required.

(sha1: 2a3e88a849fa461a8bc03135de2cbdac82c2d619)
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.0)
 

sqlite-netFx40-static-binary-bundle-x64-2010-1.0.119.0.zip

(3.29 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2010 SP1 runtime for x64 is statically
linked. The .NET Framework 4.0 is required.

(sha1: bd75a7a5f960bfd9fc5ace098dfcc175d0e21331)
 

sqlite-netFx40-static-binary-x64-2010-1.0.119.0.zip

(3.28 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2010 SP1
runtime for x64 is statically linked. The .NET Framework 4.0 is
required.

(sha1: bf2409849d46f0817b90d6fbefeec558db28cb0b)
Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.5)
 

sqlite-netFx45-static-binary-bundle-Win32-2012-1.0.119.0.zip

(3.26 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2012 Update 4 runtime for x86 is
statically linked. The .NET Framework 4.5 is required.

(sha1: 9437adb3f98eb536394368f856970ecca26dc211)
 

sqlite-netFx45-static-binary-Win32-2012-1.0.119.0.zip

(3.32 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2012
Update 4 runtime for x86 is statically linked. The .NET Framework 4.5
is required.

(sha1: e887327bb9616c31a4e6e59fce1d33d51f5380a7)
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.5)
 

sqlite-netFx45-static-binary-bundle-x64-2012-1.0.119.0.zip

(3.25 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2012 Update 4 runtime for x64 is
statically linked. The .NET Framework 4.5 is required.

(sha1: 7ace91d48cb620ebe09b54e4cc3545381af2b763)
 

sqlite-netFx45-static-binary-x64-2012-1.0.119.0.zip

(3.35 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2012
Update 4 runtime for x64 is statically linked. The .NET Framework 4.5
is required.

(sha1: 38f4193cfd20365983a942a361a8c58133127b5a)
Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.5.1)
 

sqlite-netFx451-static-binary-bundle-Win32-2013-1.0.119.0.zip

(3.29 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2013 Update 2 runtime for x86 is
statically linked. The .NET Framework 4.5.1 is required.

(sha1: eb173f2d0c0d93dc7d4e8e70c611414ad652306a)
 

sqlite-netFx451-static-binary-Win32-2013-1.0.119.0.zip

(3.35 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2013
Update 2 runtime for x86 is statically linked. The .NET Framework 4.5.1
is required.

(sha1: 73eb0107d899c44a37f4041ec1dcffcb5b46dd16)
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.5.1)
 

sqlite-netFx451-static-binary-bundle-x64-2013-1.0.119.0.zip

(3.29 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2013 Update 2 runtime for x64 is
statically linked. The .NET Framework 4.5.1 is required.

(sha1: 38f0e67686e815073704c90ba40a5d06d634bc50)
 

sqlite-netFx451-static-binary-x64-2013-1.0.119.0.zip

(3.39 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2013
Update 2 runtime for x64 is statically linked. The .NET Framework 4.5.1
is required.

(sha1: dc3202ea271a185556a916ed1a56bd701b43ffdb)
Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.6)
 

sqlite-netFx46-static-binary-bundle-Win32-2015-1.0.119.0.zip

(4.25 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x86 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2015 Update 3 runtime for x86 is
statically linked. The .NET Framework 4.6 is required.

(sha1: 3c38ea49ae6ae6d2f57fbb4538a54b25e0aa5d97)
 

sqlite-netFx46-static-binary-Win32-2015-1.0.119.0.zip

(4.48 MiB)

This binary package contains all the binaries for the x86 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2015
Update 3 runtime for x86 is statically linked. The .NET Framework 4.6
is required.

(sha1: 5be89a1d627c4db7202fd148924918d4dd5ec1f5)
Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.6)
 

sqlite-netFx46-static-binary-bundle-x64-2015-1.0.119.0.zip

(4.25 MiB)

This binary package features the mixed-mode assembly and contains all
the binaries for the x64 version of the System.Data.SQLite 1.0.119.0
(3.46.1) package. The Visual C++ 2015 Update 3 runtime for x64 is
statically linked. The .NET Framework 4.6 is required.

(sha1: c0be35d390a0c7370b70e4d3666422c222b2d0af)
 

sqlite-netFx46-static-binary-x64-2015-1.0.119.0.zip

(4.58 MiB)

This binary package contains all the binaries for the x64 version of the
System.Data.SQLite 1.0.119.0 (3.46.1) package. The Visual C++ 2015
Update 3 runtime for x64 is statically linked. The .NET Framework 4.6
is required.

(sha1: 5b8eb8739c54cbe10261975915a18d772eaed851)
Precompiled Binaries for Windows CE (.NET Compact Framework)
 

sqlite-netFx35-binary-PocketPC-ARM-2008-1.0.119.0.zip

(1.81 MiB)

This binary package contains all the binaries for the PocketPC version
of the System.Data.SQLite 1.0.119.0 (3.46.1) package. The included native
binaries should work on all supported ARM versions of Windows CE prior
to Windows Embedded Compact 2013. The .NET Compact Framework 3.5 is
required.

(sha1: 287834a47059d2d1efe7f73708f10a1b8c060eb4)
 

sqlite-netFx39-binary-WinCE-ARM-2012-1.0.119.0.zip

(2.01 MiB)

This binary package contains all the binaries for the Windows Embedded
Compact 2013 (ARM) version of the System.Data.SQLite 1.0.119.0 (3.46.1)
package. The .NET Compact Framework 3.9 is required.

(sha1: de06cbba90320b78a77dc182cb104b09333e49b9)
 

sqlite-netFx39-binary-WinCE-x86-2012-1.0.119.0.zip

(2.06 MiB)

This binary package contains all the binaries for the Windows Embedded
Compact 2013 (x86) version of the System.Data.SQLite 1.0.119.0 (3.46.1)
package. The .NET Compact Framework 3.9 is required.

(sha1: c1b6f642bff47a706c622c4646d3709671748378)

Official NuGet Packages

Generally, the official NuGet packages should be obtained from the
NuGet Gallery;
however, they are also included here as «local downloads» for
reference. They should be absolutely identical to those listed on the
NuGet Gallery with the same name and version. The SHA1 hashes listed
below may be used for comparison purposes.
  System.Data.SQLite.1.0.119.0.nupkg

(0.00 MiB)
This NuGet package includes all the binaries for both the x86 and x64
versions of System.Data.SQLite 1.0.119.0 (3.46.1). The .NET Framework
3.5 SP1, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2
-OR- .NET Core 2.0 is required. For the included Windows native
binaries, the version of the Visual C++ runtime corresponding to the
.NET Framework used by the associated managed assembly is statically
linked. For the included Linux native binaries, Ubuntu 16.04 LTS
compatible runtime libraries are required. For the included macOS
native binaries, macOS Sierra compatible runtime libraries are required.

This package depends on the «EntityFramework»
package, version 6.0 or higher (indirectly via the
«System.Data.SQLite.EF6» package).

As of version 1.0.92.0, this package will not directly
contain any of the required binaries. Instead, this package will
depend on the «System.Data.SQLite.Core»,
«System.Data.SQLite.Linq», and
«System.Data.SQLite.EF6» packages.

(sha1: d29f63fd13a6f26cfd29e905db49c58bfa96337a)

  System.Data.SQLite.Core.1.0.119.0.nupkg

(0.00 MiB)
This NuGet package contains all the binaries for both the x86 and x64
versions of System.Data.SQLite 1.0.119.0 (3.46.1), except those
needed to support LINQ and Entity Framework 6
. The .NET
Framework 3.5 SP1, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7,
4.7.1, or 4.7.2 is required -OR- .NET Core 2.0 is required. For the
included Windows native binaries, the version of the Visual C++ runtime
corresponding to the .NET Framework used by the associated managed
assembly is statically linked. For the included Linux native binaries,
Ubuntu 16.04 LTS compatible runtime libraries are required. For the
included macOS native binaries, macOS Sierra compatible runtime
libraries are required.

This package does not depend on any other package.

(sha1: 98446bf6119bd6a2fabf2513d1c4ab576c5c5f52)
  System.Data.SQLite.Core.MSIL.1.0.119.0.nupkg

(2.10 MiB)
This NuGet package contains the managed binaries for System.Data.SQLite
1.0.119.0. The .NET Framework 3.5 SP1, 4.0, 4.5, 4.5.1, 4.5.2, 4.6,
4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2 is required.

This package does not depend on any other package.
This NuGet package does not include any code from the native
SQLite core library and will not work properly without the native
assembly «SQLite.Interop.dll» compiled for the processor
architecture of the host process being present in a directory in the
native library search path.

(sha1: 472a92ed983c223b3506285b892606b583380dac)

  System.Data.SQLite.EF6.1.0.119.0.nupkg

(0.27 MiB)
This NuGet package contains just the binaries to support Entity
Framework 6 using System.Data.SQLite 1.0.119.0 (3.46.1). The .NET
Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or
4.7.2 is required.

This package depends on the «EntityFramework»
package, version 6.0 or higher.


(sha1: ba1e2bf036a9c0029f17cb76f861bcd329dbcbe3)
  System.Data.SQLite.Linq.1.0.119.0.nupkg

(0.27 MiB)
This NuGet package contains just the binaries to support LINQ using
System.Data.SQLite 1.0.119.0 (3.46.1). The .NET Framework 3.5 SP1, 4.0,
4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2 is required.

This package does not depend on any other package.

(sha1: 2f8008756c0a9df0b9d817e3254c6fe691c7a108)
  System.Data.SQLite.MSIL.1.0.119.0.nupkg

(0.00 MiB)
This NuGet package contains the managed binaries for System.Data.SQLite
1.0.119.0. The .NET Framework 3.5 SP1, 4.0, 4.5, 4.5.1, 4.5.2, 4.6,
4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2 is required.

This is a legacy package; if possible, please use either the
«System.Data.SQLite» or «System.Data.SQLite.Core»
package instead.

This NuGet package does not include any code from the native
SQLite core library and will not work properly without the native
assembly «SQLite.Interop.dll» compiled for the processor
architecture of the host process being present in a directory in the
native library search path.

As of version 1.0.95.0, this package will not directly
contain any of the required binaries. Instead, this package will
depend on the «System.Data.SQLite.Core.MSIL»,
«System.Data.SQLite.Linq», and
«System.Data.SQLite.EF6» packages.

(sha1: 15c55e55efc538f547b9b2916820d302b016ac0b)

  System.Data.SQLite.x86.1.0.119.0.nupkg

(5.24 MiB)
This NuGet package contains all the binaries for the x86 version of
System.Data.SQLite 1.0.119.0 (3.46.1). The .NET Framework 3.5 SP1,
4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2 is
required. For the included native binaries, the version of the Visual
C++ runtime corresponding to the .NET Framework used by the associated
managed assembly is statically linked.

This is a legacy package; if possible, please use either the
«System.Data.SQLite» or «System.Data.SQLite.Core»
package instead.


(sha1: 5f62d6e6f1af32b4b3f0917ca890cfeec86e79b8)
  System.Data.SQLite.x64.1.0.119.0.nupkg

(5.89 MiB)
This NuGet package contains all the binaries for the x64 version of
System.Data.SQLite 1.0.119.0 (3.46.1). The .NET Framework 3.5 SP1,
4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2 is
required. For the included native binaries, the version of the Visual
C++ runtime corresponding to the .NET Framework used by the associated
managed assembly is statically linked.

This is a legacy package; if possible, please use either the
«System.Data.SQLite» or «System.Data.SQLite.Core»
package instead.


(sha1: 4672f701c132907dff3c941cc2c8341597705d10)
  Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0.nupkg

(10.74 MiB)
This NuGet package contains all the binaries for both the x86 and x64
versions of System.Data.SQLite 1.0.119.0 (3.46.1), except those
needed to support LINQ and Entity Framework 6
. The .NET
Framework 3.5 SP1, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7,
4.7.1, or 4.7.2 is required. For the included Windows native binaries,
the version of the Visual C++ runtime corresponding to the .NET
Framework used by the associated managed assembly is statically linked.
For the included Linux native binaries, Ubuntu 16.04 LTS compatible
runtime libraries are required. For the included macOS native binaries,
macOS Sierra compatible runtime libraries are required.

This package does not depend on any other package.

(sha1: 226ffed9143db9ad69284bf647421bd1e340c0a8)
  Stub.System.Data.SQLite.Core.NetStandard.1.0.119.0.nupkg

(4.49 MiB)
This NuGet package contains all the binaries for both the x86 and x64
versions of System.Data.SQLite 1.0.119.0 (3.46.1), except those
needed to support LINQ and Entity Framework 6
. The .NET Core
runtime 2.0, 2.1, 2.2, 3.0, or 3.1 is required. For the included
Windows native binaries, the version of the Visual C++ runtime
corresponding to the .NET Framework used by the associated managed
assembly is statically linked. For the included Linux native binaries,
Ubuntu 16.04 LTS compatible runtime libraries are required. For the
included macOS native binaries, macOS Sierra compatible runtime
libraries are required.

This package does not depend on any other package.

(sha1: e0e40c97166aac6eecfb1e25f98e120afe01c60b)

Beginning with System.Data.SQLite version 1.0.101.0 (3.12.2), the
following templates will be used for the names of the build products:

  1. sqlite-netFx-source-version.zip
  2. sqlite-netFx-source-version.tar.gz
  3. sqlite-netFx-full-source-version.zip
  4. sqlite-netFx-full-source-version.tar.gz
  5. sqlite-framework-binary-platformyearversion.zip
  6. sqlite-framework-binary-bundle-platformyearversion.zip
  7. sqlite-framework-static-binary-platformyearversion.zip
  8. sqlite-framework-static-binary-bundle-platformyearversion.zip
  9. sqlite-netFx-source-date.zip
  10. sqlite-netFx-full-source-date.zip
  11. System.Data.SQLite.version.nupkg
  12. System.Data.SQLite.variant.version.nupkg
  13. System.Data.SQLite.variant.releaseType.version.nupkg
  14. Stub.System.Data.SQLite.Core.variant.version.nupkg

Templates (1), (2), (3), and (4) are used for source-code packages.
Templates (1) and (3) are used for generic source-code packages and
templates (2) and (4) are used for source-code packages that are
generally only useful on unix-like platforms. Templates (3) and (4)
are used for source-code packages that include the extra files needed
to run the unit test suite.

Templates (5) and (6) are used for the precompiled binary packages.
Template (6) is used for the precompiled binary package containing the
mixed-mode assembly. Templates (7) and (8) are used for the precompiled
binary packages statically linked to the Visual C++ runtime. Template
(8) is used for the precompiled binary package containing the mixed-mode
assembly statically linked to the Visual C++ runtime.

Templates (9) and (10) are used for unofficial pre-release
«snapshots» of source code.

Templates (11), (12), and (13) are used for the official NuGet packages.

The framework in templates (5), (6), (7), and (8) will be one of
netFx20, netFx35, netFx40, netFx45, netFx451, netFx452, netFx46, netFx461,
netFx462, netFx47, netFx471, netFx472, netFx48.

The platform in templates (5), (6), (7), and (8) will be one of
Win32, x64, PocketPC, PocketPC-ARM, PocketPC-x86, WinCE-ARM, WinCE-x86,
Mono.

The year in templates (5), (6), (7), and (8) will be one of 2005,
2008, 2010, 2012, 2013, 2015, 2017, 20XX, NetStandard20, NetStandard21.

The version in templates (1), (2), (3), (4), (5), (6), (7), (8),
(11), (12), (13), and (14) is the dot-delimited version number of the
primary System.Data.SQLite assembly.

The date in template (9) and (10) is of the form: YYYYMMDDHHMM

The variant in template (12), (13), and (14) will be MSIL, x86,
or x64. Alternatively, it may be absent, which represents the default
variant.

The releaseType in template (13) will be Beta or Test.
Alternatively, it may be absent, which represents the default release type.

  • The «Beta» release type is used to indicate that the package
    was intended to be used for
    beta
    testing.
  • The «Test» release type is used to indicate that the package
    was intended to be used for
    release candidate
    testing.

The canonical System.Data.SQLite source code is maintained in a Fossil
repository that is available for anonymous read-only access. Anyone can view
the repository contents and download historical versions of individual files
or ZIP archives of historical check-ins.

The complete source tree for any
check-in
may always be downloaded using the «Tarball» or «ZIP
archive» links available from each check-in detail page.

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Contents

  • 1 Precompiled binaries for Windows
  • 2 Building libcurl static library for DMD32 Windows
    • 2.1 Required tools
    • 2.2 Building curl_static_dmc.lib
    • 2.3 Using the static lib
  • 3 Building libcurl.dll on Windows
    • 3.1 Required tools
    • 3.2 Building libcurl.dll 32 bit with SSL support
    • 3.3 Building libcurl.dll 64 bit with SSL support

Precompiled binaries for Windows

  • http://downloads.dlang.org/other/

Building libcurl static library for DMD32 Windows

Please note that these instructions will compile libcurl static library without SSL support.

Required tools

  • MinGW-make (http://www.mingw.org)
  • Digital Mars Compiler (http://ftp.digitalmars.com/Digital_Mars_C++/Patch/dm857c.zip)

Building curl_static_dmc.lib

  1. Create directory C:\BUILD
  2. Download http://curl.haxx.se/download/curl-7.37.0.zip and extract it into C:\BUILD
  3. cd C:\BUILD\curl-7.37.0

Open include\curl\curlbuild.h in your favorite editor and add the following to line 188:

#elif defined(__DMC__)
#  define CURL_SIZEOF_LONG           4
#  define CURL_TYPEOF_CURL_OFF_T     long long
#  define CURL_FORMAT_CURL_OFF_T     "lld"
#  define CURL_FORMAT_CURL_OFF_TU    "llu"
#  define CURL_FORMAT_OFF_T          "%lld"
#  define CURL_SIZEOF_CURL_OFF_T     8
#  define CURL_SUFFIX_CURL_OFF_T     LL
#  define CURL_SUFFIX_CURL_OFF_TU    ULL
#  define CURL_TYPEOF_CURL_SOCKLEN_T int
#  define CURL_SIZEOF_CURL_SOCKLEN_T 4

Open include\curl\curlrules.h and add || defined(__DMC__) to line 207:

#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
  defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
  defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
  defined(__ILEC400__) || defined(__DMC__)

Open lib\config-win32.h and add && !defined(__DMC__) to line 566

#if !defined(__SALFORDC__) && !defined(__BORLANDC__) && !defined(__DMC__)
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
#endif

Open lib\curl_setup.h and add the following to line 504

#if defined(__DMC__)
#  undef USE_THREADS_POSIX
#  undef USE_THREADS_WIN32
#endif

Save the following as C:\BUILD\curl-7.37.0\lib\Makefile.dmc

###########################################################################
#
## Makefile for building curl_static_dmc.lib with DMC - Digital Mars Compiler
## http://ftp.digitalmars.com/Digital_Mars_C++/Patch/dm857c.zip
##
## Please run me with mingw32-make!
##
## Usage:
## 1) Set environment vars: path\to\mingw32\bin;path\to\dm\bin
## Example:
## SET PATH=C:\Dev\MinGW\bin;C:\dm\bin
##
## 2) Build
## mingw32-make -f Makefile.dmc
##
#
###########################################################################

BIN=curl_static_dmc.lib

## REQUIRED
CFLAGS=-I. -I../include -DBUILDING_LIBCURL -D_WIN32_WINNT=0x0400 -DCURL_DISABLE_LDAP

## OPTIONAL. Please add # to the start of line if you want the feature
CFLAGS+=-DCURL_DISABLE_POP3
CFLAGS+=-DCURL_DISABLE_DICT
CFLAGS+=-DCURL_DISABLE_FILE
CFLAGS+=-DCURL_DISABLE_GOPHER
CFLAGS+=-DCURL_DISABLE_IMAP
CFLAGS+=-DCURL_DISABLE_RTSP
CFLAGS+=-DCURL_DISABLE_TELNET
CFLAGS+=-DCURL_DISABLE_TFTP

include Makefile.inc
SOURCES=$(LIB_CFILES) $(LIB_VTLS_CFILES)
OBJS=$(patsubst %.c,%.obj,$(SOURCES))

all: $(BIN)

$(BIN): $(OBJS)
	lib -p32 -c $(BIN) $(OBJS)
	
%.obj: %.c
	dmc $(CFLAGS) -c $< -o$@

clean: 
	del $(BIN) $(OBJS)
  • cd C:\BUILD\curl-7.37.0\lib\
  • set PATH=C:\Dev\MinGW\bin;C:\dm\bin
  • mingw32-make -f Makefile.dmc

Using the static lib

Since dmd 2.069.0 all the curl symbols need to be exported so that std.net.curl can load them from the executable. This can be achieved by additionally linking with export_curl.def.

EXETYPE NT
EXPORTS
curl_global_init
curl_global_cleanup
curl_version_info
curl_easy_init
curl_easy_setopt
curl_easy_perform
curl_easy_duphandle
curl_easy_strerror
curl_easy_pause
curl_easy_cleanup
curl_slist_append
curl_slist_free_all


dmd myprog.d curl_static_dmc.lib export_curl.def

Building libcurl.dll on Windows

Required tools

  • MinGW (http://www.mingw.org)
  • Digital Mars’ implib (http://ftp.digitalmars.com/bup.zip)
  • MinGW-w64 (http://mingw-w64.sourceforge.net/)
  • Microsoft Librarian (lib.exe)
  • pexports (http://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/)
  • Sample program app.d
import std.net.curl;
import std.stdio;

void main()
{
	writeln(get("https://google.com/"));
}

Building libcurl.dll 32 bit with SSL support

  1. Create directory C:\BUILD
  2. Download curl-7.52.1.zip from http://curl.haxx.se/download.html and extract it into C:\BUILD
  3. Download zlib-1.2.10.tar.gz from http://zlib.net/ and extract it into C:\BUILD
  4. Save the following batch file as C:\BUILD\build-curl32.bat
  5. Run build-curl32 from Windows command prompt
@echo off

:: 1) Path to MinGW\bin
:: 2) Path to Digital Mars's implib.exe
SET PATH=C:\Dev\MinGW\bin;C:\Dev\dm\bin;
SET ZLIB_PATH=C:\BUILD\zlib-1.2.10
SET INSTALL_DIR=C:\D\dmd2\windows
:: ---------------------------------------------------------------

:: Delete object files from previous build
del /S zlib-1.2.10\*.o curl-7.52.1\*.o curl-7.52.1\*.res

cd zlib-1.2.10
mingw32-make -fwin32/Makefile.gcc
cd ..

cd curl-7.52.1
mingw32-make -C lib -f Makefile.m32 CFG=mingw32-winssl-zlib-ipv6 LDFLAGS=-static
strip -s lib\libcurl.dll

mkdir %INSTALL_DIR%\bin %INSTALL_DIR%\lib
copy lib\libcurl.dll %INSTALL_DIR%\bin
implib /system %INSTALL_DIR%\lib\curl.lib lib\libcurl.dll
cd ..

:: Build sample
SET PATH=%INSTALL_DIR%\bin
dmd app.d -ofapp32.exe
app32

Building libcurl.dll 64 bit with SSL support

  1. Create directory C:\BUILD
  2. Download curl-7.52.1.zip from http://curl.haxx.se/download.html and extract it into C:\BUILD
  3. Download zlib-1.2.10.tar.gz from http://zlib.net/ and extract it into C:\BUILD
  4. Save the following batch file as C:\BUILD\build-curl64.bat
  5. Run build-curl64 from Windows command prompt
@echo off

:: 1) Path to MinGW-w64\bin
:: 2) Path to Microsoft LIB.exe
:: 3) Path to pexports.exe (http://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/)
SET PATH=C:\Dev\MinGW64\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\amd64;C:\Dev\MinGW\bin
SET ZLIB_PATH=C:\BUILD\zlib-1.2.10
SET INSTALL_DIR=C:\D\dmd2\windows
:: ---------------------------------------------------------------

:: Delete object files from previous build
del /S zlib-1.2.10\*.o curl-7.52.1\*.o curl-7.52.1\*.res

cd zlib-1.2.10
mingw32-make -fwin32/Makefile.gcc
cd ..

cd curl-7.52.1
mingw32-make -C lib -f Makefile.m32 CFG=mingw32-winssl-zlib-ipv6 LDFLAGS=-static
strip -s lib\libcurl.dll

mkdir %INSTALL_DIR%\bin64 %INSTALL_DIR%\lib64
copy lib\libcurl.dll %INSTALL_DIR%\bin64
pexports lib\libcurl.dll > curl.def
lib /MACHINE:X64 /DEF:curl.def /OUT:%INSTALL_DIR%\lib64\curl.lib
cd ..

:: Build sample
SET PATH=%INSTALL_DIR%\bin64;%INSTALL_DIR%\bin
dmd -m64 app.d -ofapp64.exe
app64

Introduction

To give an easier way to install the software, we provide precompiled binaries for different platforms.
We support the following platforms:

  • Windows
  • Linux
  • MacOS

«Precompiled binaries» are the compiled version of the source code which is ready to run on your system.
It is a convenient way to install the software without the need to compile it from source code, but needs to trust the source of the binaries.

To download the latest version available, please visit the Releases page (opens in a new tab).

If you don’t see the precompiled binaries for your platform, you can always build from source code.

NOTE: We recommended building our software from source code directly, to be up-to-date but also to prevent having to trust a third party which could be a vector of attacks later.

A comprehensive guide to build from source code is available here.

Build from source codeDocker

Go back to my
homepage


FFTW 3.2.2 precompiled binaries for Win32 platform

The source codes of FFTW 3.2.2 package are available from http://fftw.org/download.html.

The precompiled binaries for Windows platform are also provided by the authors of FFTW package. Those libraries were compiled using MinGW.

Why do we provide our binaries?

Because there is probably a bug in the MinGW-generated binaries. Imagine you want to perform the FFT over LARGE (you reach the limit of PC memory) blocks of memory. In this case, some memory leaks appear. Later, when you want to allocate new memory block of the same size your application fails due to the lack of memory.

An example

  1. Check the size of available memory -> N
  2. Make FFTW plan.
  3. Call buffer = fftw_malloc(N)
  4. Make some FFTW compuations.
  5. Release buffer
  6. Release FFTW plan.
  7. Call fftw_cleanup
  8. Ask for a new buffer of size N -> bad alloc!

Solution

In order to avoid memory troubles we developed Solution for MS Visual Studio 9.0 that can be simply used for building the FFTW binaries using MS Visual Studio. We believe that now the memory management is correct. Since we have started compiling the FFTW in MS Visual Studio 9.0 the troubles with bad alloc have disappeared.

How to compile?

  1. Download the source codes from http://fftw.org/download.html
  2. Unzip the package.
  3. Download our solution with patch
  4. Unzip the patch and copy the content into the unzipped source codes.
  5. Open the solution file that is located in fftw-3.2.2/win32 directory.
  6. Build the library.
  7. Read the file fftw-3.2.2/win32/readme.txt

I am lazy, I want FFTW binaries without compiling them.

If you do not want to compile the binaries on your own, you can download the precompiled binaries we have already prepared. The FFTW library is available in 6 configurations: single, double, long double precision and each of them is built as in release as well as in debug mode. There is also a support for threads.


e-mail:
svoboda(at)fi.muni.cz
last modification: March 26, 2010
visitors from March 26, 2010:

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Video editor free download windows
  • Windows 10 как полностью отключить службу обновления
  • Xps viewer windows 10 softportal
  • Темы для windows 10 mercedes
  • Windows 7 xtreme live