Hi Michael, Replies in line.
-Chuck ----- Original Message ----- > From: "Michael Arnold" <myk...@gmail.com> > To: users@qpid.apache.org > Sent: Thursday, April 5, 2018 10:17:04 AM > Subject: Re: Build QPID C++ Using Visual Studio 2013 on Windows 10 > > Thanks Chuck, > > Downgrading python from 3.6.1 (python 3) to 2.7.17 (python 2), allowed > cmake to generate the build files. I did not encouter QPID-8155. > > On the build side, 3 types of errors: > 1. QPID-7926 as you describe. > > 2. Link errors of the form: error LNK1104: cannot open file > 'Debug\qpidcommond.lib' > C:\Users\myk32\Documents\Development\qpid-bin\src\LINK > --> the *.lib files don't appear to exist. Any pointers? The QPID-7926 prevents building qpidcommon.lib/dll. From there on all the other components fail as everything needs qpidcommon. I'm not sure exactly how to fix this but the issue has been known for six months. > > 3. Link errors of the form: error C1083: Cannot open include file: > 'proton/engine.h': No such file or directory > --> I assume this is because I have not run a 'make install' in the proton > build directory, but not sure how to do this on windows. Any pointers? The best approach is to have projects qpid-proton (qpid-cpp needs this for AMQP 1.0 support) and qpid-cpp share the same install directory. Build qpid-proton 'install' project first and that populates the install area with the include files and libraries that qpid-cpp needs. For example: 1) In directory D:\git clone qpid-proton and qpid-cpp. Then you have D:\git\qpid-proton D:\git\qpid-cpp 2) From qpid-proton\build launch a proton build with something like: cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=D:\git\qpid-cpp\install_2017_x64 .. devenv proton.sln /build "Debug|x64" /project INSTALL 3) Then from qpid-cpp\build CMake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=D:\git\qpid-cpp\install_2017_x64" "-DBoost_COMPILER=-vc141" "-DBOOST_ROOT=D:\boost\boost-win-1.65-64bit-vs2017" D:git\qpid-cpp devenv qpid-cpp.sln /build "Debug|x64" /project INSTALL I used to maintain some scripts to help me with managing multiple visual studio versions and the boost dependencies in https://github.com/ChugR/qpid-proton-tools/tree/master/bat Files build_proton.bat and build-qpid-cpp.bat took care of steps 2 and 3 shown above. > > On Thu, Apr 5, 2018 at 4:12 AM, Chuck Rolke <cro...@redhat.com> wrote: > > > I tried a build of the qpid-cpp latest master upstream today using: > > > > Windows Server 2012 R2 > > Visual Studio 2013 x64 > > boost 1_58_0 > > cmake version 3.9.4 > > Python 2.7.10 > > ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] > > > > Note that I did not include qpid-proton in this build. Also I am not on > > Windows 10 and have widely different tool versions. > > > > I ran into the following issues that 'break the build': > > > > * https://issues.apache.org/jira/browse/QPID-8155 - cmake flags issues. > > ** Work around by reverting as described in the jira > > > > * https://issues.apache.org/jira/browse/QPID-7926 - PODmutex is not a POD > > ** No workaround available > > > > So I can't build on windows Visual Studio 2013 either. > > However, I do not hit the same problems you have. > > > > Here is a transcript of my CMake. Maybe it will give you a hint. > > > > -Chuck > > > > > > Running CMake in D:\Users\chug\git\qpid-cpp\build_2013_x64 : CMake -G > > "Visual Studio 12 2013 Win64" "-DBUILD_DOCS=No" "-DCMAKE_INSTALL_PREFIX=D:\ > > Users\chug\git\qpid-cpp\install_2013_x64" "-DBoost_ > > COMPILER=-vc120" "-DBOOST_ROOT=D:\boost\boost_1_58_0" > > "-DINSTALL_QMFGEN=No" D:\Users\chug\git\qpid-cpp > > -- The C compiler identification is MSVC 18.0.40629.0 > > -- The CXX compiler identification is MSVC 18.0.40629.0 > > -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual > > Studio 12.0/VC/bin/x86_amd64/cl.exe > > -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual > > Studio 12.0/VC/bin/x86_amd64/cl.exe -- works > > -- Detecting C compiler ABI info > > -- Detecting C compiler ABI info - done > > -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual > > Studio 12.0/VC/bin/x86_amd64/cl.exe > > -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual > > Studio 12.0/VC/bin/x86_amd64/cl.exe -- works > > -- Detecting CXX compiler ABI info > > -- Detecting CXX compiler ABI info - done > > -- Detecting CXX compile features > > -- Detecting CXX compile features - done > > -- Build types are Debug;Release;MinSizeRel;RelWithDebInfo > > -- Found PythonInterp: C:/Python27/python.exe (found suitable version > > "2.7.10", minimum required is "2.7") > > CMake Deprecation Warning at CMakeLists.txt:138 (cmake_policy): > > The OLD behavior for policy CMP0022 will be removed from a future version > > of CMake. > > > > The cmake-policies(7) manual explains that the OLD behaviors of all > > policies are deprecated and that a policy should be set to OLD only under > > specific short-term circumstances. Projects should be ported to the NEW > > behavior and not rely on setting a policy to OLD. > > > > > > -- Found PythonInterp: C:/Python27/python.exe (found version "2.7.10") > > -- Skipping installing qmf-gen and qmf python site-packages > > -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) > > -- Could NOT find Ruby (missing: RUBY_LIBRARY) (found version "1.8.6") > > -- Found Doxygen: C:/Program Files (x86)/doxygen/bin/doxygen.exe (found > > version "1.6.3") found components: doxygen missing components: dot > > -- Could NOT find VALGRIND (missing: VALGRIND_EXECUTABLE) > > -- Could NOT find CyrusSASL (missing: CYRUS_SASL_LIBRARY > > CYRUS_SASL_INCLUDE_DIR) > > -- Regenerating AMQP protocol sources > > -- D:/Users/chug/git/qpid-cpp/src/qpid/broker/management-schema.xml is > > newer > > -- D:/Users/chug/git/qpid-cpp/src/qpid/acl/management-schema.xml is newer > > -- D:/Users/chug/git/qpid-cpp/src/qpid/ha/management-schema.xml is newer > > -- D:/Users/chug/git/qpid-cpp/src/qpid/legacystore/management-schema.xml > > is newer > > -- D:/Users/chug/git/qpid-cpp/src/qpid/linearstore/management-schema.xml > > is newer > > -- Regenerating Qpid Management Framework sources > > -- Looking for pthread.h > > -- Looking for pthread.h - not found > > -- Found Threads: TRUE > > -- Boost version: 1.58.0 > > -- Found the following Boost libraries: > > -- program_options > > -- date_time > > -- thread > > -- system > > -- chrono > > -- atomic > > -- Looking for uuid_generate > > -- Looking for uuid_generate - not found > > -- Looking for uuid_generate in uuid > > -- Looking for uuid_generate in uuid - not found > > -- Looking for uuid_create > > -- Looking for uuid_create - not found > > -- Looking for UuidToString > > -- Looking for UuidToString - found > > -- Check for size_t > > -- Check for size_t -- distinct type > > -- Looking for _init in xerces-c > > -- Looking for _init in xerces-c - not found > > -- Looking for C++ include xercesc/framework/MemBufInputSource.hpp > > -- Looking for C++ include xercesc/framework/MemBufInputSource.hpp - not > > found > > -- Looking for C++ include xqilla/xqilla-simple.hpp > > -- Looking for C++ include xqilla/xqilla-simple.hpp - not found > > -- Looking for C++ include xqilla/ast/XQEffectiveBooleanValue.hpp > > -- Looking for C++ include xqilla/ast/XQEffectiveBooleanValue.hpp - not > > found > > -- Looking for ibv_create_qp in ibverbs > > -- Looking for ibv_create_qp in ibverbs - not found > > -- Looking for rdma_create_id in rdmacm > > -- Looking for rdma_create_id in rdmacm - not found > > -- Looking for include file infiniband/verbs.h > > -- Looking for include file infiniband/verbs.h - not found > > -- Looking for include file rdma/rdma_cma.h > > -- Looking for include file rdma/rdma_cma.h - not found > > -- Could NOT find Proton: found neither ProtonConfig.cmake nor > > proton-config.cmake (Required is at least version "0.16") > > -- Qpid proton not found, amqp 1.0 support not enabled > > -- Looking for LOG_AUTHPRIV > > -- Looking for LOG_AUTHPRIV - not found > > -- Looking for LOG_FTP > > -- Looking for LOG_FTP - not found > > -- Legacystore is excluded from build. > > -- Linearstore is excluded from build. > > -- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR) > > -- Building Dotnet bindings > > -- Configuring done > > -- Generating done > > -- Build files have been written to: D:/Users/chug/git/qpid-cpp/ > > build_2013_x64 > > > > > > ----- Original Message ----- > > > From: "Michael Arnold" <myk...@gmail.com> > > > To: users@qpid.apache.org > > > Sent: Wednesday, April 4, 2018 6:56:24 AM > > > Subject: Build QPID C++ Using Visual Studio 2013 on Windows 10 > > > > > > Hi, > > > > > > In have an existing c++ app that run on Linux and uses the QPID client > > c++ > > > api. I'd like to compile the same app on Windows 10. The application > > > makes use of a development framework and graphics library who's > > equivalents > > > on Windows 10 demand the use of Visual Studio 2013. > > > > > > I've been followed the QPID build instructions for windows here: > > > https://github.com/apache/qpid-cpp/blob/master/INSTALL-WINDOWS.txt > > > > > > But have replaced the cmake command: > > > cmake -G "Visual Studio 10" .. > > > with > > > cmake -G "Visual Studio 12" ..\qpid-cpp-1.37.0 > > > > > > The result is that cmake fails with: > > > -- Configuring incomplete, errors occurred! > > > See also > > > "C:/Users/myk32/Documents/Development/qpid-bin/ > > CMakeFiles/CMakeOutput.log". > > > See also > > > "C:/Users/myk32/Documents/Development/qpid-bin/ > > CMakeFiles/CMakeError.log". > > > > > > I've inserted the CMakeError.log contents below, but extracted a couple > > of > > > items here to give a flavour: > > > C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\ > > CheckIncludeFile.c(1): > > > fatal error C1083: Cannot open include file: 'pthread.h': No such file or > > > directory > > > [C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\cmTC_ > > f3397.vcxproj] > > > > > > C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\ > > CheckSymbolExists.c(2): > > > fatal error C1083: Cannot open include file: 'uuid/uuid.h': No such file > > or > > > directory > > > [C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\cmTC_ > > 67d04.vcxproj] > > > > > > CheckFunctionExists.obj : error LNK2019: unresolved external symbol > > > _uuid_generate referenced in function _main > > > [C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\cmTC_ > > 1d626.vcxproj] > > > > > > To me, these all look like basic things that cmake should have taken care > > > of... > > > > > > Please can you help me on how to get this build to work. > > > > > > Version details are as follows: > > > Boost: 1_58_0 (lib64-msvc-12.0) > > > CMake: 3.11 > > > Python: 3.6.1 > > > Ruby: 2.4.4-1 > > > QPID: 1.37 > > > Visual Studio 2013 64 bit with update 5 applied == Visual Studio version > > 12 > > > == MSVC++ 12.0 _MSC_VER == 1800 > > > Windows 10: Version 1709, Build: 16299.309 > > > > > > Kind regards, > > > Michael > > > > > > ------------------------------------------------------------ > > ----------------------- > > > CMakeError.log > > > ------------------------------------------------------------ > > ----------------------- > > > Determining if the include file pthread.h exists failed with the > > following > > > output: > > > Change Dir: > > > C:/Users/myk32/Documents/Development/qpid-bin/CMakeFiles/CMakeTmp > > > > > > Run Build Command:"C:/Program Files (x86)/MSBuild/12.0/bin/MSBuild.exe" > > > "cmTC_f3397.vcxproj" "/p:Configuration=Debug" > > "/p:VisualStudioVersion=12.0" > > > Microsoft (R) Build Engine version 12.0.40629.0 > > > > > > [Microsoft .NET Framework, version 4.0.30319.42000] > > > > > > Copyright (C) Microsoft Corporation. All rights reserved. > > > > > > > > > > > > Build started 03/04/2018 21:17:27. > > > > > > Project > > > "C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\cmTC_ > > f3397.vcxproj" > > > on node 1 (default targets). > > > > > > PrepareForBuild: > > > > > > Creating directory "cmTC_f3397.dir\Debug\". > > > > > > Creating directory > > > "C:\Users\myk32\Documents\Development\qpid-bin\ > > CMakeFiles\CMakeTmp\Debug\". > > > > > > Creating directory "cmTC_f3397.dir\Debug\cmTC_f3397.tlog\". > > > > > > InitializeBuildStatus: > > > > > > Creating "cmTC_f3397.dir\Debug\cmTC_f3397.tlog\unsuccessfulbuild" > > because > > > "AlwaysCreate" was specified. > > > > > > ClCompile: > > > > > > C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c > > /Zi > > > /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" > > /D > > > _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope > > > /Fo"cmTC_f3397.dir\Debug\\" /Fd"cmTC_f3397.dir\Debug\vc120.pdb" /Gd /TC > > > /analyze- /errorReport:queue > > > "C:\Users\myk32\Documents\Development\qpid-bin\CMakeFiles\CMakeTmp\ > > CheckIncludeFile.c" > > > > > > Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x86 > > > > > > Copyright (C) Microsoft Corporation. All rights reserved. > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org