Hi Michael,

Sorry for slow response. I have had some success in rewriting cmake files (src) 
 mirroring aspects of the QPID CPP project use of Ninja. There at least one 
instance where cmake case sensitivity causes an issues ("rcp.h" specifically) 
that can be frustrating to track down .  Was working through "pthreads" when I 
got pulled off to another "fire".


If you have made progress can you let me know?


Thanks.


Paul


________________________________
From: Michael Arnold <myk...@gmail.com>
Sent: Thursday, May 31, 2018 6:39 AM
To: users@qpid.apache.org
Subject: QPID-CPP Compile Errors Using Visual Studio 2017

Hi,

Am trying to compile qpid-cpp on Windows 10 64-bit, using proton.  Am
cloning from git using:
git clone https://github.com/apache/qpid-cpp

The qpid-cpp compile quits at step 53, with: Build: 50 succeeded, 3 failed,
0 up-to-date, 0 skipped

Am using boost 1.65 and Visual Studio 15 2017 Win64

The build fails with errors like:
9>   Creating library
C:/path/to/qpid/qpid-cpp/build/src/Release/qpidmessaging.lib and object
C:/path/to/qpid/qpid-cpp/build/src/Release/qpidmessaging.exp
9>AddressHelper.obj : error LNK2019: unresolved external symbol
__imp_pn_type_name referenced in function "public: void __cdecl
qpid::messaging::amqp::AddressHelper::checkAssertion(struct pn_terminus_t
*,enum qpid::messaging::amqp::AddressHelper::CheckMode)"
(?checkAssertion@AddressHelper@amqp@messaging@qpid@@QEAAXPEAUpn_terminus_t@
@W4CheckMode@1234@@Z)
9>AddressHelper.obj : error LNK2019: unresolved external symbol
__imp_pn_data_next referenced in function "public: void __cdecl
qpid::messaging::amqp::AddressHelper::checkAssertion(struct pn_terminus_t
*,enum qpid::messaging::amqp::AddressHelper::CheckMode)"
(?checkAssertion@AddressHelper@amqp@messaging@qpid@@QEAAXPEAUpn_terminus_t@
@W4CheckMode@1234@@Z)
9>PnData.obj : error LNK2001: unresolved external symbol __imp_pn_data_next
9>Transaction.obj : error LNK2001: unresolved external symbol
__imp_pn_data_next
:
Lots more lines like the above
:
9>C:\path\to\qpid\qpid-cpp\build\src\Release\qpidmessaging.dll : fatal
error LNK1120: 121 unresolved externals
9>Done building project "qpidmessaging.vcxproj" -- FAILED.

Similarly:
45>Session.obj : error LNK2019: unresolved external symbol
__imp_pn_link_set_snd_settle_mode referenced in function "public: void
__cdecl qpid::broker::amqp::Session::attach(struct pn_link_t *)"
(?attach@Session@amqp@broker@qpid@@QEAAXPEAUpn_link_t@@@Z)
45>Session.obj : error LNK2019: unresolved external symbol
__imp_pn_disposition_data referenced in function "public: virtual void
__cdecl qpid::broker::amqp::IncomingToCoordinator::deliver(class
boost::intrusive_ptr<class qpid::broker::amqp::Message>,struct
pn_delivery_t *)" (?deliver@IncomingToCoordinator@amqp@broker@qpid@
@UEAAXV?$intrusive_ptr@VMessage@amqp@broker@qpid@@@boost@@PEAUpn_delivery_t@
@@Z)
45>Session.obj : error LNK2019: unresolved external symbol
__imp_pn_delivery_local referenced in function "public: virtual void
__cdecl qpid::broker::amqp::IncomingToCoordinator::deliver(class
boost::intrusive_ptr<class qpid::broker::amqp::Message>,struct
pn_delivery_t *)" (?deliver@IncomingToCoordinator@amqp@broker@qpid@
@UEAAXV?$intrusive_ptr@VMessage@amqp@broker@qpid@@@boost@@PEAUpn_delivery_t@
@@Z)
45>C:\path\to\qpid\qpid-cpp\build\src\Release\amqp.dll : fatal error
LNK1120: 144 unresolved externals

qpid-cpp cmake command is:
CMake -G "Visual Studio 15 2017 Win64"
-DCMAKE_INSTALL_PREFIX=C:\Users\myk32\dev\qpid\qpid-cpp\install_2017_x64
-DBOOST_ROOT=c:\boost_1_65_0 -DBUILD_BINDING_DOTNET=No -DINSTALL_QMFGEN=No
-DENABLE_WARNING_ERROR=No ..

qpid-cpp build command is:
devenv qpid-cpp.sln /build "Release|x64" /project INSTALL

The proton cmake and build both complete successfully.

Any suggestions on how I can proceed?

Kind regards,
Michael


________________________________

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.

Reply via email to