Hi Paul,
I was able to successfully build a qpidd broker using Visual Studio 2017, x64.
* For Boost I downloaded
sourceforge.net/projects/boostfiles/boost_binaries/boost_1_65_0-msvc-14.1-64.exe
and installed it.
* To use this version of Boost I had to coerce CMake into finding the msvc-14
boost when running the msvc-15 compiler by gimmicking the Boost_COMPILER
setting in the cmake command line. (I'm suprised that this works. Typically I
refuse to build executables using libraries that are linked to different MSVC
runtimes. It's a bad practice.)
* The cmake command line was:
CMake -G "Visual Studio 15 2017 Win64" ^
"-DBUILD_BINDING_DOTNET=OFF" ^
"-DBUILD_DOCS=No" ^
"-DCMAKE_INSTALL_PREFIX=D:\Users\git\qpid-cpp\install_2017_x64" ^
"-DBoost_COMPILER=-vc141" ^
"-DBOOST_ROOT=D:\boost\boost-win-1.65-64bit-vs2015" ^
"-DINSTALL_QMFGEN=No" ^
D:\Users\git\qpid-cpp
Note that qpid-proton was built and installed to the
qpid-cpp\install_2017_x64 directory.
* cmake --version: 3.9.4
* python --version: 2.7.10
* The cmake/build was done using "x64 Native Tools Command Prompt" and not an
ordinary command prompt.
This exercise exposed only one trivial error in
https://issues.apache.org/jira/browse/QPID-8037 whose fix is committed already.
I have not done an x86 32-bit build yet. Nor have I unraveled the mysteries of
Visual Studio's new directory layout that accommodates side-by-side installs of
different versions (community, professional, ultimate, ...) of Visual Studio
2017.
Basically, the builds should work and CMake produces solution files with proper
dependencies. This is good news.
-Chuck
----- Original Message -----
> From: "Paul A. Flores" <[email protected]>
> To: [email protected]
> Sent: Wednesday, November 15, 2017 11:42:42 AM
> Subject: Re: Need help compiling in Visual Studio QPID C++
>
> Hi Chuck,
>
>
> Its a 64-bit x64 build I am attempting.
>
>
> Thanks for the build order it will certainly help.
>
>
> Paul
>
>
> ________________________________
> From: Chuck Rolke <[email protected]>
> Sent: Wednesday, November 15, 2017 9:30 AM
> To: [email protected]
> Subject: Re: Need help compiling in Visual Studio QPID C++
>
> Hi Paul,
>
> I could try a 2017 build in my setup(s). Are you building 32-bit x86 or
> 64-bit x64?
>
> A recent build of qpid-cpp 1.36 built items in this order.
>
> -Chuck
>
> 1>------ Build started: Project: qpidtypes, Configuration: RelWithDebInfo
> Win32 ------
> 2>------ Build started: Project: shlibtest, Configuration: RelWithDebInfo
> Win32 ------
> 3>------ Build started: Project: management_python_build, Configuration:
> RelWithDebInfo Win32 ------
> 4>------ Build started: Project: dlclose_noop, Configuration: RelWithDebInfo
> Win32 ------
> 5>------ Build started: Project: qpidcommon, Configuration: RelWithDebInfo
> Win32 ------
> 6>------ Build started: Project: qpidclient, Configuration: RelWithDebInfo
> Win32 ------
> 7>------ Build started: Project: qpidbroker, Configuration: RelWithDebInfo
> Win32 ------
> 8>------ Build started: Project: qpidmessaging, Configuration: RelWithDebInfo
> Win32 ------
> 9>------ Build started: Project: resuming_receiver, Configuration:
> RelWithDebInfo Win32 ------
> 10>------ Build started: Project: replaying_sender, Configuration:
> RelWithDebInfo Win32 ------
> 11>------ Build started: Project: receiver, Configuration: RelWithDebInfo
> Win32 ------
> 12>------ Build started: Project: txjob, Configuration: RelWithDebInfo Win32
> ------
> 13>------ Build started: Project: txshift, Configuration: RelWithDebInfo
> Win32 ------
> 14>------ Build started: Project: qpid-txtest, Configuration: RelWithDebInfo
> Win32 ------
> 15>------ Build started: Project: qpid-topic-publisher, Configuration:
> RelWithDebInfo Win32 ------
> 16>------ Build started: Project: qpid-topic-listener, Configuration:
> RelWithDebInfo Win32 ------
> 17>------ Build started: Project: qpid-perftest, Configuration:
> RelWithDebInfo Win32 ------
> 18>------ Build started: Project: qpid-latency-test, Configuration:
> RelWithDebInfo Win32 ------
> 19>------ Build started: Project: qpid-client-test, Configuration:
> RelWithDebInfo Win32 ------
> 20>------ Build started: Project: publish, Configuration: RelWithDebInfo
> Win32 ------
> 21>------ Build started: Project: header_test, Configuration: RelWithDebInfo
> Win32 ------
> 22>------ Build started: Project: ha_test_max_queues, Configuration:
> RelWithDebInfo Win32 ------
> 23>------ Build started: Project: echotest, Configuration: RelWithDebInfo
> Win32 ------
> 24>------ Build started: Project: consume, Configuration: RelWithDebInfo
> Win32 ------
> 25>------ Build started: Project: declare_queues, Configuration:
> RelWithDebInfo Win32 ------
> 26>------ Build started: Project: datagen, Configuration: RelWithDebInfo
> Win32 ------
> 27>------ Build started: Project: qmf2, Configuration: RelWithDebInfo Win32
> ------
> 28>------ Build started: Project: server_reconnect, Configuration:
> RelWithDebInfo Win32 ------
> 29>------ Build started: Project: server, Configuration: RelWithDebInfo Win32
> ------
> 30>------ Build started: Project: spout, Configuration: RelWithDebInfo Win32
> ------
> 31>------ Build started: Project: sender, Configuration: RelWithDebInfo Win32
> ------
> 32>------ Build started: Project: qpid-txtest2, Configuration: RelWithDebInfo
> Win32 ------
> 33>------ Build started: Project: qpid-send, Configuration: RelWithDebInfo
> Win32 ------
> 34>------ Build started: Project: qpid-receive, Configuration: RelWithDebInfo
> Win32 ------
> 35>------ Build started: Project: qpid-ping, Configuration: RelWithDebInfo
> Win32 ------
> 36>------ Build started: Project: msg_group_test, Configuration:
> RelWithDebInfo Win32 ------
> 37>------ Build started: Project: map_sender, Configuration: RelWithDebInfo
> Win32 ------
> 38>------ Build started: Project: map_receiver, Configuration: RelWithDebInfo
> Win32 ------
> 39>------ Build started: Project: hello_xml, Configuration: RelWithDebInfo
> Win32 ------
> 40>------ Build started: Project: hello_world, Configuration: RelWithDebInfo
> Win32 ------
> 41>------ Build started: Project: drain, Configuration: RelWithDebInfo Win32
> ------
> 42>------ Build started: Project: client, Configuration: RelWithDebInfo Win32
> ------
> 43>------ Build started: Project: qmf2_print_events, Configuration:
> RelWithDebInfo Win32 ------
> 44>------ Build started: Project: qmf2_list_agents, Configuration:
> RelWithDebInfo Win32 ------
> 45>------ Build started: Project: qmf2_agent, Configuration: RelWithDebInfo
> Win32 ------
> 46>------ Build started: Project: store, Configuration: RelWithDebInfo Win32
> ------
> 47>------ Build started: Project: test_store, Configuration: RelWithDebInfo
> Win32 ------
> 48>------ Build started: Project: qpidd, Configuration: RelWithDebInfo Win32
> ------
> 49>------ Build started: Project: unit_test, Configuration: RelWithDebInfo
> Win32 ------
> 50>------ Build started: Project: mssql_store, Configuration: RelWithDebInfo
> Win32 ------
> 51>------ Build started: Project: msclfs_store, Configuration: RelWithDebInfo
> Win32 ------
> 52>------ Build started: Project: ha, Configuration: RelWithDebInfo Win32
> ------
> 53>------ Build started: Project: amqp, Configuration: RelWithDebInfo Win32
> ------
> 54>------ Build started: Project: INSTALL, Configuration: RelWithDebInfo
> Win32 ------
>
>
> ----- Original Message -----
> > From: "Paul A. Flores" <[email protected]>
> > To: [email protected]
> > Sent: Wednesday, November 15, 2017 9:52:20 AM
> > Subject: Re: Need help compiling in Visual Studio QPID C++
> >
> > First thanks to both Justin and Chuck for your responses there nothing like
> > a
> > community that steps up to help!
> >
> >
> > I am a consultant/contractor doing primarily application development which
> > means I am "tied" to the "wishes" of the client and in this case that the
> > code base be developed in Visual Studio 17. The main issue has been CMake
> > and an apparent incompatibility with MSBuild. It appears that the order in
> > which objects need to be compiled has been "compromised" or else there is
> > an inconsistency in being able to navigate to find items such as folder and
> > compilation tools.
> >
> >
> > I will review the discussion and see if I can make specific progress. In
> > the
> > meantime can someone point me to a discussion/description of the order in
> > which objects need to be built?
> >
> >
> > Thanks again to Justin and Chuck.
> >
> >
> > Paul
> >
> >
> > ________________________________
> > From: Chuck Rolke <[email protected]>
> > Sent: Tuesday, November 14, 2017 8:40 AM
> > To: [email protected]
> > Subject: Re: Need help compiling in Visual Studio QPID C++
> >
> > I tried https://ci.appveyor.com/project/ChugR/qpid-cpp , a manual
> > configuration (ignoring qpid-cpp appveyor.yml) using Visual Studio 2013 and
> > before-build script:
> >
> > mkdir BLD
> > cd BLD
> > cmake -G "Visual Studio 12 2013" -DBUILD_BINDING_DOTNET=OFF
> > -DBOOST_ROOT=C:\Libraries\boost
> > -DBOOST_LIBRARYDIR=C:\Libraries\boost\lib32-msvc-12.0 ..
> > cd ..
> >
> > This compiled successfully using the default version of Boost. It barfed
> > later with ctest issues but the goal was compilation.
> >
> > In my experience the qpid-cpp Windows builds suffer from a steady stream of
> > bit rot from new versions of MSbuild, cmake, boost, and qpid-proton. The
> > remedy is to keep building the latest-and-greatest with all the new tools
> > and libraries and fix problems as soon as they appear.
> >
> > I recently upgraded some scripted builds using Visual Studio 2017 and found
> > drastic behavior changes. I got my scripts to work but VS2015 and VS2013
> > could be scripted more easily following the same model as previous versions
> > of Visual Studio.
> >
> > Discussion
> > http://qpid.2158936.n2.nabble.com/Building-Qpid-on-Windows-td7622672.html
> > is
> > still relevant with respect to getting qpid-cpp and qpid-proton (qpid-cpp's
> > AMQP 1.0 engine) to work together as designed.
> >
> > ----- Original Message -----
> > > From: "Justin Ross" <[email protected]>
> > > To: [email protected]
> > > Sent: Monday, November 13, 2017 7:38:36 PM
> > > Subject: Re: Need help compiling in Visual Studio QPID C++
> > >
> > > Hi, Paul. What are the errors you are seeing?
> > >
> > > I gave it a try on AppVeyor, and I immediately ran into a problem with a
> > > newer version of msbuild.
> > >
> > > https://ci.appveyor.com/project/ssorj/qpid-cpp/build/1.0.13
> > >
> > > Chuck, what does that portend? Do we need to generate new build metadata
> > > for Windows?
> > >
> > > On Mon, Nov 13, 2017 at 2:22 PM, Flores, Paul A. <[email protected]>
> > > wrote:
> > >
> > > > Help!
> > > >
> > > >
> > > > CMake is not cooperating/working with Visual Studio and I am about
> > > > running
> > > > out of hair to pull! Only issues in the Linux world were self induced
> > > > not
> > > > sure about this windows environment!
> > > >
> > > >
> > > > Can anyone give me a bit of help? I have a very narrow window to prove
> > > > QPID is a viable alternative for a new manufacturing application,
> > > >
> > > >
> > > > Any help would be greatly appreciated to get QIP CPP compiled!
> > > >
> > > >
> > > > Paul
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > This communication (including any attachments) may contain information
> > > > that is proprietary, confidential or exempt from disclosure. If you are
> > > > not
> > > > the intended recipient, please note that further dissemination,
> > > > distribution, use or copying of this communication is strictly
> > > > prohibited.
> > > > Anyone who received this message in error should notify the sender
> > > > immediately by telephone or by return email and delete it from his or
> > > > her
> > > > computer.
> > > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
> >
> > ________________________________
> >
> > This communication (including any attachments) may contain information that
> > is proprietary, confidential or exempt from disclosure. If you are not the
> > intended recipient, please note that further dissemination, distribution,
> > use or copying of this communication is strictly prohibited. Anyone who
> > received this message in error should notify the sender immediately by
> > telephone or by return email and delete it from his or her computer.
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
> ________________________________
>
> This communication (including any attachments) may contain information that
> is proprietary, confidential or exempt from disclosure. If you are not the
> intended recipient, please note that further dissemination, distribution,
> use or copying of this communication is strictly prohibited. Anyone who
> received this message in error should notify the sender immediately by
> telephone or by return email and delete it from his or her computer.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]