On 11/08/2019 2:11 pm, Michael wrote:
Hello, I'm writing a short proof of concept project in C++ to test message consumption through qpidmessaging. When compiling it fails with Link Error 2001 looking for qpid::types::Variant. If I don't use certain methods that apparently do not reference this class it works fine. I have added the qpid definition (qpid-cpp-master\include) and implementation (qpid-cpp-master\src) locations to the Include and Source directories in the project properties, respectively. My code:#include "stdafx.h" #include <qpid/messaging/Connection.h>#include <qpid/messaging/Message.h>#include <qpid/messaging/Receiver.h>#include <qpid/messaging/Session.h> #include <iostream> using namespace std;using namespace qpid::messaging; int main() { Connection connection; connection.open(); Session session = connection.createSession(); Receiver receiver = session.createReceiver("lnl.og.replicator-credential-transaction.processqueue_2; {mode: browse}"); Message response = receiver.fetch(); // Message.getContentObject() next causes Link error 2001: // error LNK2001 : unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl qpid::types::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class qpid::types::Variant const &)"(__imp_ ? ? 6types@qpid@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV23@ABVVariant@01@@Z) // If I use response.getContent() instead there is no problem. cout << response.getContentObject() << endl; connection.close(); return 0;} Qpic Messaging API 1.39.0Visual Studio 2015 I would greatly appreciate any suggestions on how to overcome this.
You need to link against libqpidtypes as well as libqpidmessaging. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
