More info...

I found the first error, "invalid token in expression", has to do with
incorrect EOL format (DOS instead of UNIX).  There is a line extending
\ and it doesn't work with a DOS EOL following it.  Converted all
files to UNIX format.

The first error in secblock.h has to do with preprocessing.  Here are
the details:

What's happening in the actual build...

typedef SecBlock<byte, AllocatorWithCleanup<byte, CRYPTOPP_BOOL_X86 |
CRYPTOPP_BOOL_X64> > AlignedSecByteBlock;

is expanding to...

typedef SecBlock<byte, AllocatorWithCleanup<byte, 1  | 0 > >
AlignedSecByteBlock;


The 2nd template parameter to AllocatorWithCleanup should be a BOOL
specifying
whether to align16.

If the preprocessor had reduced "1 | 0" to "1" to generate the
following...

typedef SecBlock<byte, AllocatorWithCleanup<byte, 1> >
AlignedSecByteBlock;

it would have compiled.

Or perhaps the compiler was supposed to compile it correctly anyway.
Is this a gcc version issue?  Are there settings or command line
directives that
will help?

Thanks,
-Aaron



On Jun 19, 11:01 am, aaronf <[EMAIL PROTECTED]> wrote:
> I was wondering if others have had success building cryptopp5.5.2 on
> QNX.  I am running QNX Neutrino RTOS 6.3.0 which has an installed
> version of gcc of 2.95.3.
>
> I am getting build errors out of misc.h and secblock.h.  I have tried
> earlier versions of cryptopp.  I have also tried replacing secblock.h
> with a newer version I found by Googling "QNX cryptopp".
>
> My build output (with updated secblock.h) is as follows:
>
> g++ -DNDEBUG -g -O2 -pipe -c 3way.cpp
> In file included from seckey.h:9,
>                  from 3way.h:7,
>                  from 3way.cpp:5:
> misc.h:23: Invalid token in expression
> In file included from seckey.h:9,
>                  from 3way.h:7,
>                  from 3way.cpp:5:
> misc.h:111: warning: `noinline' attribute directive ignored
> In file included from 3way.h:8,
>                  from 3way.cpp:5:
> secblock.h:450: parse error before `>'
> secblock.h:462: `T_Align16' was not declared in this scope
> secblock.h:462: template argument 4 is invalid
> secblock.h:462: ANSI C++ forbids declaration `' with no type
> secblock.h:464: parse error before `;'
> secblock.h:471: default argument for template parameter in function
> template `CryptoPP::SecBlockWithHint::SecBlockWithHint(unsigned int)'
> secblock.h: In method
> `CryptoPP::SecBlockWithHint::SecBlockWithHint(unsigned int)':
> secblock.h:471: expected 2 levels of template parms for
> `CryptoPP::SecBlockWithHint::SecBlockWithHint(unsigned int)', got 1
> In file included from 3way.cpp:5:
> 3way.h: At top level:
> 3way.h:10: confused by earlier errors, bailing out
> make: *** [3way.o] Error 1
>
> Has anybody else been successful in porting to QNX and know what build
> options need to be provided to get cryptopp to build?
>
> Thanks,
> -Aaron
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [EMAIL PROTECTED]
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to