From c79af9f5adb33043c0a5aaae1a30120cd98ef694 Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Wed, 1 May 2019 14:55:14 +0100 Subject: [PATCH] fix_814 (#816) * fix_814 * Adding note about "warnings concerning LIBCMT". * Update README-CONAN.md * Apply suggestions from code review Co-Authored-By: piponazo --- README-CONAN.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README-CONAN.md b/README-CONAN.md index a16339a3..2bc7953e 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -191,7 +191,7 @@ cmd Exiv2 v0.27 can be built with VS 2008, 2010, 2012, 2013, 2015 and 2017. -Exiv2 v0.27.1 (and later) can be built with VS 2015, 2017 and 2019. I believe it will build with 2013 and earlier, however we don't actively support those version of Visual Studio. +Exiv2 v0.27.1 (and later) can be built with VS 2015, 2017 and 2019. I believe Exiv2 will build with 2013 and earlier, however we don't actively support these version of Visual Studio. v0.28 is being "modernised" to C++11 and will not support C++98. We don't expect Exiv2 v0.28 to build with VS 2008, 2010, 2012 or 2013. @@ -275,12 +275,12 @@ CMake provides Generators for different editions of Visual Studio. The 64 and 3 ##### Static Builds -The default builds of Exiv2 and sample applications build use DLLs. +The default builds of Exiv2 and sample applications build and use DLLs. -To build static libraries, use the cmake option -DBUILD\_SHARED\_LIBS=Off. +To build static libraries, use the cmake option `-DBUILD_SHARED_LIBS=Off`. You will probably also want to use the static run-time. The default is to use the dynamic run-time library. ```bash -$ cmake -DBUILD_SHARED_LIBS=Off .. +$ cmake -DBUILD_SHARED_LIBS=Off -DEXIV2_ENABLE_DYNAMIC_RUNTIME=Off ``` If you wish to use the static C run-time library, use the following option in the conan profile. @@ -289,6 +289,9 @@ If you wish to use the static C run-time library, use the following option in th |:--- |:--------- |:-------------------| | **profile setting** | compiler.runtime=MT | compiler.runtime=MTd | +If you receive a linker warning concerning `LIBCMT`, it is because you are attempting to link libraries which have been built with different run-time libraries. +You should link everything with the dynamic or static run-time. You can link a static library with the dynamic run-time if you wish. + ### Changing profile settings with the conan command It is recommended that you use profiles provided in `/cmake/msvc\_conan\_profiles'.