SimpleAmqpClient icon indicating copy to clipboard operation
SimpleAmqpClient copied to clipboard

Building SimpleAmqpClient on Windows 10, 64-bit

Open aciaccio opened this issue 7 years ago • 7 comments

Hi there. When trying to use cmake on Windows 10 I get the following:

PS C:\Users\ac026878\SimpleAmqpClient\build> cmake .. -- Selecting Windows SDK version to target Windows 10.0.16299. CMake Warning at C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:577 (message): Imported targets and dependency information not available for Boost version (all versions older than 1.33) Call Stack (most recent call first): C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:963 (_Boost_COMPONENT_DEPENDENCIES) C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1622 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:35 (FIND_PACKAGE)

CMake Warning at C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:577 (message): Imported targets and dependency information not available for Boost version (all versions older than 1.33) Call Stack (most recent call first): C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:963 (_Boost_COMPONENT_DEPENDENCIES) C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1622 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:35 (FIND_PACKAGE)

CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message): Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers. Call Stack (most recent call first): CMakeLists.txt:35 (FIND_PACKAGE)

If I set BOOST_ROOT, BOOST_INCLUDEDIR and BOOST_LIBRARYDIR I get the following:

PS C:\Users\ac026878\SimpleAmqpClient\build> cmake -DBOOST_ROOT=C:\boost_1_68_0 -DBOOST_INCLUDEDIR=C:\boost_1_68_0 -DBOOST_LIBRARYDIR=C:\boost_1_68_0\lib ..

-- Selecting Windows SDK version to target Windows 10.0.16299. CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message): Unable to find the requested Boost libraries.

Boost version: 1.68.0

Boost include path: C:/boost_1_68_0

Could not find the following Boost libraries:

      boost_chrono
      boost_system

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost. Call Stack (most recent call first): CMakeLists.txt:35 (FIND_PACKAGE)

When I turn up the diagnostics for the FindBoost module it gives me the following: PS C:\Users\ac026878\SimpleAmqpClient\build> cmake -DBOOST_ROOT=C:\boost_1_68_0 -DBOOST_INCLUDEDIR=C:\boost_1_68_0 -DBOOST_LIBRARYDIR=C:\boost_1_68_0\l ib -DBoost_DEBUG=ON .. -- Selecting Windows SDK version to target Windows 10.0.16299. -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1125 ] _boost_TEST_VERSIONS = 1.68.0;1.68;1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65;1.64.0;1.64;1.63.0;1.63;1.62.0;1.62;1.61.0;1.61;1.60.0;1.60;1.59.0;1.59;1.58.0;1.58;1.57.0;1.57;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47 -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1127 ] Boost_USE_MULTITHREADED = TRUE -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1129 ] Boost_USE_STATIC_LIBS = -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1131 ] Boost_USE_STATIC_RUNTIME = -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1133 ] Boost_ADDITIONAL_VERSIONS = -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1135 ] Boost_NO_SYSTEM_PATHS = -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1203 ] Declared as CMake or Environmental Variables: -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1205 ] BOOST_ROOT = C:\boost_1_68_0 -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1207 ] BOOST_INCLUDEDIR = C:\boost_1_68_0 -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1209 ] BOOST_LIBRARYDIR = C:\boost_1_68_0\lib -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1211 ] _boost_TEST_VERSIONS = 1.68.0;1.68;1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65;1.64.0;1.64;1.63.0;1.63;1.62.0;1.62;1.61.0;1.61;1.60.0;1.60;1.59.0;1.59;1.58.0;1.58;1.57.0;1.57;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47 -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1310 ] location of version.hpp: C:/boost_1_68_0/boost/version.hpp -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1334 ] version.hpp reveals boost 1.68.0 -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1420 ] guessed _boost_COMPILER = -vc140 -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1430 ] _boost_MULTITHREADED = -mt -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1506 ] _boost_RELEASE_ABI_TAG = - -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1508 ] _boost_DEBUG_ABI_TAG = -gd -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1571 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = C:\boost_1_68_0\lib;C:\boost_1_68_0/lib;C:\boost_1_68_0/stage/lib;C:\boost_1_68_0/lib32-msvc-14.0;C:/boost_1_68_0/lib;C:/boost_1_68_0/../lib;C:/boost_1_68_0/stage/lib;C:/boost_1_68_0/../lib32-msvc-14.0;C:/boost_1_68_0/lib32-msvc-14.0;C:/local/boost_1_68_0/lib32-msvc-14.0;C:/local/boost_1_68/lib32-msvc-14.0;C:/local/boost_1_67_0/lib32-msvc-14.0;C:/local/boost_1_67/lib32-msvc-14.0;C:/local/boost_1_66_0/lib32-msvc-14.0;C:/local/boost_1_66/lib32-msvc-14.0;C:/local/boost_1_65_1/lib32-msvc-14.0;C:/local/boost_1_65_0/lib32-msvc-14.0;C:/local/boost_1_65/lib32-msvc-14.0;C:/local/boost_1_64_0/lib32-msvc-14.0;C:/local/boost_1_64/lib32-msvc-14.0;C:/local/boost_1_63_0/lib32-msvc-14.0;C:/local/boost_1_63/lib32-msvc-14.0;C:/local/boost_1_62_0/lib32-msvc-14.0;C:/local/boost_1_62/lib32-msvc-14.0;C:/local/boost_1_61_0/lib32-msvc-14.0;C:/local/boost_1_61/lib32-msvc-14.0;C:/local/boost_1_60_0/lib32-msvc-14.0;C:/local/boost_1_60/lib32-msvc-14.0;C:/local/boost_1_59_0/lib32-msvc-14.0;C:/local/boost_1_59/lib32-msvc-14.0;C:/local/boost_1_58_0/lib32-msvc-14.0;C:/local/boost_1_58/lib32-msvc-14.0;C:/local/boost_1_57_0/lib32-msvc-14.0;C:/local/boost_1_57/lib32-msvc-14.0;C:/local/boost_1_56_0/lib32-msvc-14.0;C:/local/boost_1_56/lib32-msvc-14.0;C:/local/boost_1_55_0/lib32-msvc-14.0;C:/local/boost_1_55/lib32-msvc-14.0;C:/local/boost_1_54_0/lib32-msvc-14.0;C:/local/boost_1_54/lib32-msvc-14.0;C:/local/boost_1_53_0/lib32-msvc-14.0;C:/local/boost_1_53/lib32-msvc-14.0;C:/local/boost_1_52_0/lib32-msvc-14.0;C:/local/boost_1_52/lib32-msvc-14.0;C:/local/boost_1_51_0/lib32-msvc-14.0;C:/local/boost_1_51/lib32-msvc-14.0;C:/local/boost_1_50_0/lib32-msvc-14.0;C:/local/boost_1_50/lib32-msvc-14.0;C:/local/boost_1_49_0/lib32-msvc-14.0;C:/local/boost_1_49/lib32-msvc-14.0;C:/local/boost_1_48_0/lib32-msvc-14.0;C:/local/boost_1_48/lib32-msvc-14.0;C:/local/boost_1_47_0/lib32-msvc-14.0;C:/local/boost_1_47/lib32-msvc-14.0;C:/local/boost_1_46_1/lib32-msvc-14.0;C:/local/boost_1_46_0/lib32-msvc-14.0;C:/local/boost_1_46/lib32-msvc-14.0;C:/local/boost_1_45_0/lib32-msvc-14.0;C:/local/boost_1_45/lib32-msvc-14.0;C:/local/boost_1_44_0/lib32-msvc-14.0;C:/local/boost_1_44/lib32-msvc-14.0;C:/local/boost_1_43_0/lib32-msvc-14.0;C:/local/boost_1_43/lib32-msvc-14.0;C:/local/boost_1_42_0/lib32-msvc-14.0;C:/local/boost_1_42/lib32-msvc-14.0;C:/local/boost_1_41_0/lib32-msvc-14.0;C:/local/boost_1_41/lib32-msvc-14.0;C:/local/boost_1_40_0/lib32-msvc-14.0;C:/local/boost_1_40/lib32-msvc-14.0;C:/local/boost_1_39_0/lib32-msvc-14.0;C:/local/boost_1_39/lib32-msvc-14.0;C:/local/boost_1_38_0/lib32-msvc-14.0;C:/local/boost_1_38/lib32-msvc-14.0;C:/local/boost_1_37_0/lib32-msvc-14.0;C:/local/boost_1_37/lib32-msvc-14.0;C:/local/boost_1_36_1/lib32-msvc-14.0;C:/local/boost_1_36_0/lib32-msvc-14.0;C:/local/boost_1_36/lib32-msvc-14.0;C:/local/boost_1_35_1/lib32-msvc-14.0;C:/local/boost_1_35_0/lib32-msvc-14.0;C:/local/boost_1_35/lib32-msvc-14.0;C:/local/boost_1_34_1/lib32-msvc-14.0;C:/local/boost_1_34_0/lib32-msvc-14.0;C:/local/boost_1_34/lib32-msvc-14.0;C:/local/boost_1_33_1/lib32-msvc-14.0;C:/local/boost_1_33_0/lib32-msvc-14.0;C:/local/boost_1_33/lib32-msvc-14.0;C:/boost/lib32-msvc-14.0;PATHS;C:/boost/lib;C:/boost;/sw/local/lib_boost_LIBRARY_SEARCH_DIRS_DEBUG = C:\boost_1_68_0\lib;C:\boost_1_68_0/lib;C:\boost_1_68_0/stage/lib;C:\boost_1_68_0/lib32-msvc-14.0;C:/boost_1_68_0/lib;C:/boost_1_68_0/../lib;C:/boost_1_68_0/stage/lib;C:/boost_1_68_0/../lib32-msvc-14.0;C:/boost_1_68_0/lib32-msvc-14.0;C:/local/boost_1_68_0/lib32-msvc-14.0;C:/local/boost_1_68/lib32-msvc-14.0;C:/local/boost_1_67_0/lib32-msvc-14.0;C:/local/boost_1_67/lib32-msvc-14.0;C:/local/boost_1_66_0/lib32-msvc-14.0;C:/local/boost_1_66/lib32-msvc-14.0;C:/local/boost_1_65_1/lib32-msvc-14.0;C:/local/boost_1_65_0/lib32-msvc-14.0;C:/local/boost_1_65/lib32-msvc-14.0;C:/local/boost_1_64_0/lib32-msvc-14.0;C:/local/boost_1_64/lib32-msvc-14.0;C:/local/boost_1_63_0/lib32-msvc-14.0;C:/local/boost_1_63/lib32-msvc-14.0;C:/local/boost_1_62_0/lib32-msvc-14.0;C:/local/boost_1_62/lib32-msvc-14.0;C:/local/boost_1_61_0/lib32-msvc-14.0;C:/local/boost_1_61/lib32-msvc-14.0;C:/local/boost_1_60_0/lib32-msvc-14.0;C:/local/boost_1_60/lib32-msvc-14.0;C:/local/boost_1_59_0/lib32-msvc-14.0;C:/local/boost_1_59/lib32-msvc-14.0;C:/local/boost_1_58_0/lib32-msvc-14.0;C:/local/boost_1_58/lib32-msvc-14.0;C:/local/boost_1_57_0/lib32-msvc-14.0;C:/local/boost_1_57/lib32-msvc-14.0;C:/local/boost_1_56_0/lib32-msvc-14.0;C:/local/boost_1_56/lib32-msvc-14.0;C:/local/boost_1_55_0/lib32-msvc-14.0;C:/local/boost_1_55/lib32-msvc-14.0;C:/local/boost_1_54_0/lib32-msvc-14.0;C:/local/boost_1_54/lib32-msvc-14.0;C:/local/boost_1_53_0/lib32-msvc-14.0;C:/local/boost_1_53/lib32-msvc-14.0;C:/local/boost_1_52_0/lib32-msvc-14.0;C:/local/boost_1_52/lib32-msvc-14.0;C:/local/boost_1_51_0/lib32-msvc-14.0;C:/local/boost_1_51/lib32-msvc-14.0;C:/local/boost_1_50_0/lib32-msvc-14.0;C:/local/boost_1_50/lib32-msvc-14.0;C:/local/boost_1_49_0/lib32-msvc-14.0;C:/local/boost_1_49/lib32-msvc-14.0;C:/local/boost_1_48_0/lib32-msvc-14.0;C:/local/boost_1_48/lib32-msvc-14.0;C:/local/boost_1_47_0/lib32-msvc-14.0;C:/local/boost_1_47/lib32-msvc-14.0;C:/local/boost_1_46_1/lib32-msvc-14.0;C:/local/boost_1_46_0/lib32-msvc-14.0;C:/local/boost_1_46/lib32-msvc-14.0;C:/local/boost_1_45_0/lib32-msvc-14.0;C:/local/boost_1_45/lib32-msvc-14.0;C:/local/boost_1_44_0/lib32-msvc-14.0;C:/local/boost_1_44/lib32-msvc-14.0;C:/local/boost_1_43_0/lib32-msvc-14.0;C:/local/boost_1_43/lib32-msvc-14.0;C:/local/boost_1_42_0/lib32-msvc-14.0;C:/local/boost_1_42/lib32-msvc-14.0;C:/local/boost_1_41_0/lib32-msvc-14.0;C:/local/boost_1_41/lib32-msvc-14.0;C:/local/boost_1_40_0/lib32-msvc-14.0;C:/local/boost_1_40/lib32-msvc-14.0;C:/local/boost_1_39_0/lib32-msvc-14.0;C:/local/boost_1_39/lib32-msvc-14.0;C:/local/boost_1_38_0/lib32-msvc-14.0;C:/local/boost_1_38/lib32-msvc-14.0;C:/local/boost_1_37_0/lib32-msvc-14.0;C:/local/boost_1_37/lib32-msvc-14.0;C:/local/boost_1_36_1/lib32-msvc-14.0;C:/local/boost_1_36_0/lib32-msvc-14.0;C:/local/boost_1_36/lib32-msvc-14.0;C:/local/boost_1_35_1/lib32-msvc-14.0;C:/local/boost_1_35_0/lib32-msvc-14.0;C:/local/boost_1_35/lib32-msvc-14.0;C:/local/boost_1_34_1/lib32-msvc-14.0;C:/local/boost_1_34_0/lib32-msvc-14.0;C:/local/boost_1_34/lib32-msvc-14.0;C:/local/boost_1_33_1/lib32-msvc-14.0;C:/local/boost_1_33_0/lib32-msvc-14.0;C:/local/boost_1_33/lib32-msvc-14.0;C:/boost/lib32-msvc-14.0;PATHS;C:/boost/lib;C:/boost;/sw/local/lib -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1760 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-vc140-mt-x32-1_68;boost_chrono-vc140-mt;boost_chrono-mt-x32-1_68;boost_chrono-mt;boost_chrono -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1813 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-vc140-mt-gd-x32-1_68;boost_chrono-vc140-mt-gd;boost_chrono-mt-gd-x32-1_68;boost_chrono-mt-gd;boost_chrono-mt;boost_chrono -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1760 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-vc140-mt-x32-1_68;boost_system-vc140-mt;boost_system-mt-x32-1_68;boost_system-mt;boost_system -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1813 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-vc140-mt-gd-x32-1_68;boost_system-vc140-mt-gd;boost_system-mt-gd-x32-1_68;boost_system-mt-gd;boost_system-mt;boost_system -- [ C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:1887 ] Boost_FOUND = 1 CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.12/Modules/FindBoost.cmake:2048 (message): Unable to find the requested Boost libraries.

Boost version: 1.68.0

Boost include path: C:/boost_1_68_0

Could not find the following Boost libraries:

      boost_chrono
      boost_system

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost. Call Stack (most recent call first): CMakeLists.txt:35 (FIND_PACKAGE)

For some reason it looks like Cmake is trying to pull in 32-bit boost libraries instead of the 64-bit ones that are installed (boost_system-vc140-mt-x64-1_68.lib, boost_chrono-vc140-mt-x64-1_68.lib). Does the CMakeLists.txt need to be updated to handle this? I was successful in building SimpleAmqpClient by creating a Visual Studio project file that points to the source/headers but upon linking it I get a bunch of unresolved symbols that should be in the SimpleAmqpClient static library. I was hoping if I could get the CMake to run successfully all those unresolved symbols errors would be corrected.

aciaccio avatar Oct 04 '18 18:10 aciaccio

Try using CMAKE GUI, and give the file paths for boost libraries in the GUI and then configure.It worked for me.

swatinair123 avatar Dec 17 '18 13:12 swatinair123

@aciaccio and for which platform do you have libraries in C:\boost_1_68_0\lib? It should contain one version, either x64 or win32. Btw. you boost include directory looks wrong - it should point to the 'include' folder in boost directory.

dev-konrad avatar Mar 08 '19 14:03 dev-konrad

x64. I've tried a number of combinations, with and without specifying the include directory. @swatinair123 recommended using the CMAKE GUI, which I have not yet tried. In any case that should not matter, the CLI should work fine.

aciaccio avatar Mar 08 '19 15:03 aciaccio

@aciaccio I see you're using boost 1.68.0 - have you tried to modify CMakeLists.txt, line 35 accordingly before using cmake?

FIND_PACKAGE(Boost 1.47.0 COMPONENTS chrono system REQUIRED)
# change to:
FIND_PACKAGE(Boost 1.68.0 COMPONENTS chrono system REQUIRED)

dev-konrad avatar Mar 11 '19 13:03 dev-konrad

Could not find the following Boost libraries:

      boost_chrono
      boost_system

Had same errors with latest Boost version - 1.69. Fixed by adding option Boost_USE_STATIC_LIBS=ON

TestudoZ avatar Mar 14 '19 14:03 TestudoZ

Hi ,When trying to use cmake on Windows 10 I get the following :

CMake Error at D:/cmake-3.18.4-win64-x64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message): Could NOT find Boost (missing: chrono system) (found suitable version "1.69.0", minimum required is "1.69.0") Call Stack (most recent call first): D:/cmake-3.18.4-win64-x64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:473 (_FPHSA_FAILURE_MESSAGE) D:/cmake-3.18.4-win64-x64/share/cmake-3.18/Modules/FindBoost.cmake:2184 (find_package_handle_standard_args) CMakeLists.txt:63 (find_package)

but i have already compiled boost 1_69_0 and install Lib in F:\boost_1_69_0\czz_install\lib Snipaste_2020-10-23_11-20-43

i compiled with boost 1.69.0 with commands below: build.bat gcc (i want to use mingw to dealed it ,but not supported ) .\bjam --toolset=gcc --with-system --with-chrono --with-timer --prefix=F:\boost_1_69_0\czz_install install

and get below: Snipaste_2020-10-23_11-07-19

so I try to modify the CMakeLists.txt to fix the problem: Snipaste_2020-10-23_11-11-08

then i trying to use cmake command again: but i still got below:

CMake Error at D:/cmake-3.18.4-win64-x64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message): Could NOT find Boost (missing: chrono system) (found suitable version "1.69.0", minimum required is "1.69.0") Call Stack (most recent call first): D:/cmake-3.18.4-win64-x64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:473 (_FPHSA_FAILURE_MESSAGE) D:/cmake-3.18.4-win64-x64/share/cmake-3.18/Modules/FindBoost.cmake:2184 (find_package_handle_standard_args) CMakeLists.txt:63 (find_package)

At last, i have to review the FindBoost.cmake And FindPackageHandleStandardArgs.cmake to see what happened.

i found it's Boost_chrono_FOUND Boost_system_FOUND Not be set to true that cause the error how counld this happened ,i have already include the header file path and the libpath........

i don't know why ,can you help me....

czzCreator avatar Oct 23 '20 03:10 czzCreator

i want to build all the things below MinGW , have you ever tried?

czzCreator avatar Oct 23 '20 03:10 czzCreator