Giter Site home page Giter Site logo

cstdint about simpleamqpclient HOT 11 CLOSED

alanxz avatar alanxz commented on July 28, 2024
cstdint

from simpleamqpclient.

Comments (11)

bosr avatar bosr commented on July 28, 2024

Hi Alan,

I think I got it plain wrong. You had included boost/cstdint in the header files. My problem is due to the new Table.h, in which you forward declare TableValue to use it in a std::map and std::vector before actual definition.

Does this code compile for you? To me, this should not compile, as you use a forward declaration and use it as such that in a std::vector.

At line 65 in Table.h, you could use std::vector<TableValue*> but not std::vector<TableValue>. Again, I may be wrong.

Cheers,
Romain

from simpleamqpclient.

alanxz avatar alanxz commented on July 28, 2024

First: this library should be compiled using the C++98 standard. There currently is no benefit to compiling it using the C++11 standard. Try compiling it using C++98 instead of C++11 and hopefully that error should go away.

As far as I know compiling SimpleAmqpClient using the C++98 standard should not prevent you from using SimpleAmqpClient with programs that use the C++11 standard, assuming you use the same compiler and standard library.

The typedef code on line 65 of Table.h doesn't require TableValue to be completely defined at the point. The TableValue type needs to be completely defined when its used in a way where it is allocated or a method is used*

So if you use the Array object after including Table.h you should be ok to use it as the TableValue is defined later in the file.

*Don't quote me on that. C++ is a very complicated standard, and the rule i believe is a bit more complicated than that, thats just a rule-of-thumb I use.

from simpleamqpclient.

bosr avatar bosr commented on July 28, 2024

Thanks for your quick answer!

Actually you're right, no need to compile your code in c++11 mode. It's just I'm used to only that mode now, because my own code is c++11 only (not a fashion, it's been 1.5 year I need that). Furthermore it's the default with the latest clangs on 10.7/8.

Thanks for your explanation, I think it relates to the 'c++ curiously recurring template pattern', but I'm surprised it can compile anyway. but watch out for c++11 mode with that TableValue (line 65 etc), because I don't think this part will compile, and again, it's now the default on osx (soon on debian I think).

edit: I've just compiling it on debian with g++ 4.7 (c++98 mode): I have the undefined uint32_t errors.
I'll keep you updated if I find something.

Cheers,
Romain

from simpleamqpclient.

alanxz avatar alanxz commented on July 28, 2024

Could you provide any documentation that C++11 mode is the default on either of these platforms/compilers?

Could you post the errors you get on the debian platform?

from simpleamqpclient.

alanxz avatar alanxz commented on July 28, 2024

Just built SimpleAmqpClient on Ubuntu 12.10 (a Debian variant) with the default g++ (v4.7.2). The library compiles cleanly.

I'll need some additional information to help track down the undefined errors you're seeing.

from simpleamqpclient.

bosr avatar bosr commented on July 28, 2024

Hi Alan,

Right again :), there's no documentation of that behavior, I was misleaded by cedarbdd/cedar#47. Sorry for the noise. I was clearly wrong. The default is still c++98.

I will post this evening (GMT+2) the errors I get on debian.

Thanks for your help (and patience :))

from simpleamqpclient.

bosr avatar bosr commented on July 28, 2024

Hi Alan,

Here are my errors with debian gcc 4.7

romain@silence:~/toto $ git clone git://github.com/alanxz/SimpleAmqpClient.git
Cloning into 'SimpleAmqpClient'...
remote: Counting objects: 1131, done.
remote: Compressing objects: 100% (337/337), done.
remote: Total 1131 (delta 820), reused 1089 (delta 782)
Receiving objects: 100% (1131/1131), 479.96 KiB | 596 KiB/s, done.
Resolving deltas: 100% (820/820), done.
romain@silence:~/toto $ mkdir build
romain@silence:~/toto $ cd build/
romain@silence:~/toto/build $ cmake ../SimpleAmqpClient/
-- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.50.0
-- Found the following Boost libraries:
--   chrono
--   system
-- Found Rabbitmqc 
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.1.2") 
-- Found DOXYFILE_IN: /home/romain/toto/SimpleAmqpClient/Doxyfile.in  
-- Configuring done
-- Generating done
-- Build files have been written to: /home/romain/toto/build
romain@silence:~/toto/build $ make
Scanning dependencies of target SimpleAmqpClient
[  5%] Building CXX object CMakeFiles/SimpleAmqpClient.dir/src/AmqpException.cpp.o
In file included from /home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:29:0:
/usr/include/amqp.h:59:9: error: ‘uint32_t’ does not name a type
/usr/include/amqp.h:60:9: error: ‘uint32_t’ does not name a type
/usr/include/amqp.h:61:9: error: ‘uint16_t’ does not name a type
/usr/include/amqp.h:64:3: error: ‘size_t’ does not name a type
/usr/include/amqp.h:72:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp.h:134:5: error: ‘int8_t’ does not name a type
/usr/include/amqp.h:135:5: error: ‘uint8_t’ does not name a type
/usr/include/amqp.h:136:5: error: ‘int16_t’ does not name a type
/usr/include/amqp.h:137:5: error: ‘uint16_t’ does not name a type
/usr/include/amqp.h:138:5: error: ‘int32_t’ does not name a type
/usr/include/amqp.h:139:5: error: ‘uint32_t’ does not name a type
/usr/include/amqp.h:140:5: error: ‘int64_t’ does not name a type
/usr/include/amqp.h:141:5: error: ‘uint64_t’ does not name a type
/usr/include/amqp.h:220:3: error: ‘size_t’ does not name a type
/usr/include/amqp.h:227:3: error: ‘size_t’ does not name a type
/usr/include/amqp.h:231:3: error: ‘amqp_method_number_t’ does not name a type
/usr/include/amqp.h:236:3: error: ‘uint8_t’ does not name a type
/usr/include/amqp.h:237:3: error: ‘amqp_channel_t’ does not name a type
/usr/include/amqp.h:241:7: error: ‘uint16_t’ does not name a type
/usr/include/amqp.h:242:7: error: ‘uint64_t’ does not name a type
/usr/include/amqp.h:248:7: error: ‘uint8_t’ does not name a type
/usr/include/amqp.h:249:7: error: ‘uint8_t’ does not name a type
/usr/include/amqp.h:250:7: error: ‘uint8_t’ does not name a type
/usr/include/amqp.h:251:7: error: ‘uint8_t’ does not name a type
/usr/include/amqp.h:276:62: error: ‘size_t’ has not been declared
/usr/include/amqp.h:283:47: error: ‘size_t’ has not been declared
/usr/include/amqp.h:287:49: error: ‘size_t’ has not been declared
/usr/include/amqp.h:288:54: error: ‘size_t’ has not been declared
/usr/include/amqp.h:292:39: error: ‘size_t’ was not declared in this scope
/usr/include/amqp.h:346:8: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:347:8: error: ‘amqp_method_number_t’ has not been declared
/usr/include/amqp.h:351:8: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:352:8: error: ‘amqp_method_number_t’ has not been declared
/usr/include/amqp.h:356:6: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:357:6: error: ‘amqp_method_number_t’ has not been declared
/usr/include/amqp.h:358:6: error: ‘amqp_method_number_t’ has not been declared
/usr/include/amqp.h:391:9: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:395:10: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:404:9: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:410:10: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:418:11: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:427:9: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:433:12: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:440:9: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:447:11: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:456:6: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:457:6: error: ‘uint64_t’ has not been declared
/usr/include/amqp.h:461:11: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:466:13: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:471:10: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:474:10: error: ‘amqp_channel_t’ has not been declared
/usr/include/amqp.h:477:14: error: ‘amqp_channel_t’ has not been declared
In file included from /home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:30:0:
/usr/include/amqp_framing.h:42:37: error: ‘amqp_method_number_t’ was not declared in this scope
/usr/include/amqp_framing.h:43:47: error: ‘amqp_method_number_t’ was not declared in this scope
/usr/include/amqp_framing.h:44:31: error: ‘amqp_method_number_t’ was not declared in this scope
/usr/include/amqp_framing.h:45:43: error: expected primary-expression before ‘*’ token
/usr/include/amqp_framing.h:45:44: error: ‘pool’ was not declared in this scope
/usr/include/amqp_framing.h:46:44: error: expected primary-expression before ‘encoded’
/usr/include/amqp_framing.h:47:31: error: expected primary-expression before ‘void’
/usr/include/amqp_framing.h:47:45: error: expression list treated as compound expression in initializer [-fpermissive]
/usr/include/amqp_framing.h:48:35: error: ‘uint16_t’ was not declared in this scope
/usr/include/amqp_framing.h:49:47: error: expected primary-expression before ‘*’ token
/usr/include/amqp_framing.h:49:48: error: ‘pool’ was not declared in this scope
/usr/include/amqp_framing.h:50:48: error: expected primary-expression before ‘encoded’
/usr/include/amqp_framing.h:51:35: error: expected primary-expression before ‘void’
/usr/include/amqp_framing.h:51:49: error: expression list treated as compound expression in initializer [-fpermissive]
/usr/include/amqp_framing.h:52:31: error: ‘amqp_method_number_t’ was not declared in this scope
/usr/include/amqp_framing.h:53:31: error: expected primary-expression before ‘void’
/usr/include/amqp_framing.h:54:44: error: expected primary-expression before ‘encoded’
/usr/include/amqp_framing.h:54:51: error: expression list treated as compound expression in initializer [-fpermissive]
/usr/include/amqp_framing.h:55:35: error: ‘uint16_t’ was not declared in this scope
/usr/include/amqp_framing.h:56:35: error: expected primary-expression before ‘void’
/usr/include/amqp_framing.h:57:48: error: expected primary-expression before ‘encoded’
/usr/include/amqp_framing.h:57:55: error: expression list treated as compound expression in initializer [-fpermissive]
/usr/include/amqp_framing.h:62:3: error: ‘uint8_t’ does not name a type
/usr/include/amqp_framing.h:63:3: error: ‘uint8_t’ does not name a type
/usr/include/amqp_framing.h:89:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:90:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:91:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:96:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:97:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:98:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:115:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:117:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:118:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:147:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:149:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:150:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:169:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:174:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:191:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:203:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:217:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:231:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:244:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:245:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:250:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:264:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:271:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:276:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:285:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:290:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:303:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:304:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:314:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:342:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:351:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:360:3: error: ‘uint64_t’ does not name a type
/usr/include/amqp_framing.h:368:3: error: ‘uint16_t’ does not name a type
/usr/include/amqp_framing.h:375:3: error: ‘uint64_t’ does not name a type
/usr/include/amqp_framing.h:379:3: error: ‘uint32_t’ does not name a type
/usr/include/amqp_framing.h:389:3: error: ‘uint64_t’ does not name a type
/usr/include/amqp_framing.h:395:3: error: ‘uint64_t’ does not name a type
/usr/include/amqp_framing.h:440:3: error: ‘amqp_flags_t’ does not name a type
/usr/include/amqp_framing.h:445:3: error: ‘amqp_flags_t’ does not name a type
/usr/include/amqp_framing.h:450:3: error: ‘amqp_flags_t’ does not name a type
/usr/include/amqp_framing.h:455:3: error: ‘amqp_flags_t’ does not name a type
/usr/include/amqp_framing.h:460:3: error: ‘amqp_flags_t’ does not name a type
/usr/include/amqp_framing.h:479:3: error: ‘amqp_flags_t’ does not name a type
/usr/include/amqp_framing.h:483:3: error: ‘uint8_t’ does not name a type
/usr/include/amqp_framing.h:484:3: error: ‘uint8_t’ does not name a type
/usr/include/amqp_framing.h:489:3: error: ‘uint64_t’ does not name a type
/usr/include/amqp_framing.h:498:3: error: ‘amqp_flags_t’ does not name a type
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp: In static member function ‘static void AmqpClient::AmqpException::Throw(const amqp_rpc_reply_t&)’:
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:64:23: error: ‘const amqp_method_t’ has no member named ‘id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:66:8: error: ‘amqp_method_number_t’ was not declared in this scope
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:66:8: error: expected ‘)’ before numeric constant
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:67:78: error: expected ‘:’ before ‘;’ token
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:69:8: error: expected ‘)’ before numeric constant
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:70:74: error: the value of ‘amqp_method_number_t’ is not usable in a constant expression
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:66:8: note: ‘amqp_method_number_t’ does not have integral or enumeration type
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:70:75: error: expected ‘:’ before ‘;’ token
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:73:152: error: ‘const amqp_method_t’ has no member named ‘id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp: In static member function ‘static void AmqpClient::AmqpException::Throw(const amqp_channel_close_t&)’:
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:84:78: error: ‘const amqp_bytes_t’ has no member named ‘len’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:87:54: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:87:78: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:87:88: error: ‘amqp_method_name’ cannot be used as a function
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:90:40: error: ‘const amqp_channel_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:94:40: error: ‘const amqp_channel_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:97:17: error: ‘const amqp_channel_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:100:66: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:100:82: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:102:58: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:102:74: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:104:62: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:104:78: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:106:64: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:106:80: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:108:59: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:108:75: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:110:65: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:110:81: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:112:69: error: ‘const amqp_channel_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:112:85: error: ‘const amqp_channel_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:114:137: error: ‘const amqp_channel_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp: In static member function ‘static void AmqpClient::AmqpException::Throw(const amqp_connection_close_t&)’:
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:121:54: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:121:78: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:121:88: error: ‘amqp_method_name’ cannot be used as a function
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:126:78: error: ‘const amqp_bytes_t’ has no member named ‘len’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:131:43: error: ‘const amqp_connection_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:135:43: error: ‘const amqp_connection_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:138:17: error: ‘const amqp_connection_close_t’ has no member named ‘reply_code’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:141:67: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:141:83: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:143:62: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:143:78: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:145:61: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:145:77: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:147:62: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:147:78: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:149:65: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:149:81: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:151:63: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:151:79: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:153:66: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:153:82: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:155:64: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:155:80: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:157:61: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:157:77: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:159:65: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:159:81: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:161:64: error: ‘const amqp_connection_close_t’ has no member named ‘class_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:161:80: error: ‘const amqp_connection_close_t’ has no member named ‘method_id’
/home/romain/toto/SimpleAmqpClient/src/AmqpException.cpp:163:140: error: ‘const amqp_connection_close_t’ has no member named ‘reply_code’
make[2]: *** [CMakeFiles/SimpleAmqpClient.dir/src/AmqpException.cpp.o] Error 1
make[1]: *** [CMakeFiles/SimpleAmqpClient.dir/all] Error 2
make: *** [all] Error 2
romain@silence:~/toto/build $ 
omain@silence:~/toto/build $ /usr/bin/c++ --version
c++ (Debian 4.7.2-4) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

romain@silence:~/toto/build $ 

Do you need anything else?

Best regards,
Romain

from simpleamqpclient.

alanxz avatar alanxz commented on July 28, 2024

What version of rabbitmq-c are you using?

from simpleamqpclient.

bosr avatar bosr commented on July 28, 2024

0.0.1.hg216-1, the only one available on debian I think, that is without custom repo, of course. Is it too old? I don't yet see the relation with uint32_t, uint16_t, etc.

from simpleamqpclient.

alanxz avatar alanxz commented on July 28, 2024

That version of rabbitmq-c is ancient and will not work with the current version of SimpleAmqpClient.

Unless you know of a more recent version of the package, you will need to download rabbitmq-c and build it from source:

https://github.com/alanxz/rabbitmq-c

from simpleamqpclient.

bosr avatar bosr commented on July 28, 2024

Great, works fine now. Thank you Alan.

from simpleamqpclient.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.