Skip to content

Latest commit

 

History

History
99 lines (67 loc) · 2.67 KB

README.md

File metadata and controls

99 lines (67 loc) · 2.67 KB

Curl for windows

Curl is a command line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software.

About

This repository is a collection of submodules (dependencies) that curl need to build successfully. Each submodule tracks the latest known git release tag. In order to make this easy to maintain i converted the buildsystem to GYP. Please note that this is not a FORK and no patches has been applied or sent upstream.

By following the tutorial below, you should be able build a working, statically linked version of the latest libcurl.

Both x86 and x64 builds are supported.

Happy linking ;)

Download prebuilt version of curl

Download available for your convenience over at SourceForge which also includes the static libraries.

Obtaining a free copy of visual studio

If you do not have a visual studio license you can download Visual Studio 2013 Express edition for free.

Curl dependencies

Prerequisites

Obtaining prerequisites

$ git clone https://github.com/peters/curl-for-windows.git
$ git submodule update --init --recursive

Configuration options

$ python configure.py --help
Usage: configure.py [options]

Options:
  -h, --help            show this help message and exit
  --toolchain=TOOLCHAIN
                        msvs toolchain to build for. [default: auto]
  --target-arch=TARGET_ARCH
                        CPU architecture to build for. [default: x86]

Generate project files

$ python configure.py 

Open respective curl.sln found in out folder ;)

Simple curl example

If you are new to curl you can checkout the example project found in curl.sln or you can view additional the examples in the official curl repository.

Linking with libcurl (without gyp)

  • Add preprocessor flag

    • CURL_STATICLIB
  • Add include directory

    • path/to/curl/include
  • Add additional library search directory

    • path/to/out/Debug|Release/obj
  • Link with the following libraries

    • libcurl.lib
    • openssl.lib
    • libssh2.lib
    • zlib.lib
    • wsock32.lib
    • wldap32.lib
    • ws2_32.lib

By now you should have sweet, statically linked, CURL! ;)