Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cstdint #40

Closed
bosr opened this issue Nov 4, 2012 · 11 comments
Closed

cstdint #40

bosr opened this issue Nov 4, 2012 · 11 comments

Comments

@bosr
Copy link

bosr commented Nov 4, 2012

Alan,

With clang c++11, I had to manually add #include <boost/cstdint.hpp> in all cpp files from the src folder.

I added it just before #include <amqp.h>, else clang complains about size_t, uint16_t, etc undefined.
But then other errors appear:

In file included from /Users/romain/Documents/github/SimpleAmqpClient/src/Channel.cpp:30:
In file included from /usr/local/include/boost/cstdint.hpp:36:
In file included from /usr/local/include/boost/config.hpp:40:
In file included from /usr/local/include/boost/config/select_stdlib_config.hpp:37:
In file included from /usr/local/include/boost/config/no_tr1/utility.hpp:21:
/usr/bin/../lib/c++/v1/utility:218:9: error: field has incomplete type 'AmqpClient::TableValue'
    _T2 second;
        ^
/usr/bin/../lib/c++/v1/__tree:602:16: note: in instantiation of template class 'std::__1::pair<std::__1::basic_string<char>,
      AmqpClient::TableValue>' requested here
    value_type __value_;
               ^

Could you please update this? Thanks!
Romain

@bosr
Copy link
Author

bosr commented Nov 4, 2012

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

@alanxz
Copy link
Owner

alanxz commented Nov 4, 2012

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.

@bosr
Copy link
Author

bosr commented Nov 4, 2012

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

@alanxz
Copy link
Owner

alanxz commented Nov 4, 2012

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?

@alanxz
Copy link
Owner

alanxz commented Nov 5, 2012

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.

@bosr
Copy link
Author

bosr commented Nov 5, 2012

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 :))

@bosr
Copy link
Author

bosr commented Nov 6, 2012

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

@alanxz
Copy link
Owner

alanxz commented Nov 6, 2012

What version of rabbitmq-c are you using?

@bosr
Copy link
Author

bosr commented Nov 6, 2012

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.

@alanxz
Copy link
Owner

alanxz commented Nov 6, 2012

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

@bosr
Copy link
Author

bosr commented Nov 6, 2012

Great, works fine now. Thank you Alan.

@alanxz alanxz closed this as completed Nov 6, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants