-
Notifications
You must be signed in to change notification settings - Fork 555
Windows Install
- C++11
This documentation aims to provide the building steps for a Windows environment containing the following tools:
- Appropriate terminal/shell
- Git (throw command-line)
- VS 2012+ (for C++11 support)
The library provides a MSVC15 solution located in msvc15
that you can use if you want to quickly build the library without CMake.
In order to build the library, you have to open a terminal and follow these steps:
# Clone the project
git clone https://github.com/Cylix/cpp_redis.git
# Go inside the the project directory
cd cpp_redis
# Get tacopie submodule
git submodule init && git submodule update
Then, you can open the cpp_redis solution in the msvc15
directory of the repository and build the solution in the configuration (Debug, Release, ...) and for the platform (32, 64) of your choice.
Note that this solution is configured to target Windows 8.1 with the build tools v140.
If you need any other settings or if this configuration is not compatible with your environment, you will need to re-configure the solution:
- right click on the cpp_redis solution in visual studio
- then properties
- finally update the corresponding target and build tools version (or any other relevant settings)
Otherwise, you will need to build cpp_redis using CMake.
Once built, you can update your VC++ project configuration:
-
VC++ Directories > Include Directories: Add
CPP_REDIS_FOLDER_PATH/includes
andCPP_REDIS_FOLDER_PATH/tacopie/includes
(with the appropriate value ofCPP_REDIS_FOLDER_PATH
). -
VC++ Directories > Library Directories: Add
CPP_REDIS_FOLDER_PATH/{Debug|Release|...}/
(with the appropriate value ofCPP_REDIS_FOLDER_PATH
and configuration). -
Linker > Input > Additional Dependencies: Add
cpp_redis.lib
andtacopie.lib
.
Finally, you just have to include <cpp_redis/cpp_redis>
in your source files.
This documentation aims to provide the building steps for a Windows environment containing the following tools:
- Appropriate terminal/shell
- Git (throw command-line)
- CMake (throw command-line)
- VS 2012+ (for C++11 support)
The library is based on cmake
for the compilation. In order to build the library, you have to open a terminal and follow these steps:
# Clone the project
git clone https://github.com/Cylix/cpp_redis.git
# Go inside the the project directory
cd cpp_redis
# Get tacopie submodule
git submodule init && git submodule update
# Generate the VC++ solution using CMake
cmake .
# Generate the VC++ solution using CMake, for x64 platform
cmake . -G "Visual Studio 15 2017 Win64" # Or any other valid platform/compiler version.
This will generate a cpp_redis.sln
file (that is, a Visual Studio solution).
- Open this file with Visual Studio.
- Build the solution in the configuration (Debug, Release, ...) and for the platform (32, 64) of your choice.
Then, you can update your VC++ project configuration:
-
VC++ Directories > Include Directories: Add
CPP_REDIS_FOLDER_PATH/includes
andCPP_REDIS_FOLDER_PATH/tacopie/includes
(with the appropriate value ofCPP_REDIS_FOLDER_PATH
). -
VC++ Directories > Library Directories: Add
CPP_REDIS_FOLDER_PATH/{Debug|Release|...}/
(with the appropriate value ofCPP_REDIS_FOLDER_PATH
and configuration). -
Linker > Input > Additional Dependencies: Add
cpp_redis.lib
andtacopie.lib
.
Finally, you just have to include <cpp_redis/cpp_redis>
in your source files.
Please refer to this page of the wiki.
If you have a warning like the following when trying to link the library with your project:
error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug'
This is because there is a conflict between the Runtime Library used to compile cpp_redis and the Runtime Library used by another library you are using.
By default, cpp_redis is compiled using /MT mode, but you can use the MSVC_RUNTIME_LIBRARY_CONFIG
cmake variable to override this setting.
Please refer to this page of the wiki.
Sometimes, it appears that CMake does not get along very well with Visual Studio and fails to generate project files with linkage against ws2_32.
If you get errors such as undefined external symbol _impl_socket
, this is probably the case.
If so, manually add it the link as follow:
(tacopie)Project->Properties->Librarian->Additional Dependencies->(input)ws2_32.lib
Need more information? Contact me.