If you also check the archives here you will see a patch by Fraser
Hutchison which fixes some c++11 issues  when used with clang, you will
need that patch applied (it is a valid error in the code anyhow).

On Wed, May 23, 2012 at 6:16 PM, David Irvine <[email protected]>wrote:

> You could try this one of ours, it does seem to work ! not a great answer
> but perhaps a quick fix
>
> David
>
>
> On Wed, May 23, 2012 at 6:12 PM, NoRulez <[email protected]> wrote:
>
>> I use the following compiler flags:
>>
>>     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -Wall -W
>> -Wunused-variable -Wunused-parameter -Wunused-function -Wunused
>> -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wwrite-strings
>> -fprofile-arcs -ftest-coverage")
>>     SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -Wall -W -fprofile-arcs
>> -ftest-coverage")
>>     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs
>> -ftest-coverage")
>>     SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}
>> -fprofile-arcs -ftest-coverage")
>>     SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}
>> -fprofile-arcs -ftest-coverage")
>>
>> I've also attached the CMakeLists.txt file which I use to compile it.
>>
>> Here is the output after the project is configured:
>>
>> -- The C compiler identification is GNU
>> -- The CXX compiler identification is GNU
>> -- Checking whether C compiler has -isysroot
>> -- Checking whether C compiler has -isysroot - yes
>> -- Checking whether C compiler supports OSX deployment target flag
>> -- Checking whether C compiler supports OSX deployment target flag - yes
>> -- 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
>> -- Checking whether CXX compiler has -isysroot
>> -- Checking whether CXX compiler has -isysroot - yes
>> -- Checking whether CXX compiler supports OSX deployment target flag
>> -- Checking whether CXX compiler supports OSX deployment target flag - yes
>> -- 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
>>
>>
>>
>> Best Regards
>>
>>
>> Am 23. Mai 2012 um 19:02 schrieb David Irvine <[email protected]
>> >:
>>
>>
>> Compile flags and versions would really help. clang is very actively
>> being developed just now. If you use libc++ and std=c++11 you need to make
>> some changes. Otherwise you may be using pedantic flags or similar.
>>
>> On Wed, May 23, 2012 at 5:59 PM, NoRulez <[email protected]> wrote:
>>
>>> Hello,
>>>
>>> on windows and on linux crypto++ compiles fine.
>>> But on mac os x lion i get compile errors.
>>> Did i need to define something special to get it to work?
>>>
>>> Here are the errors:
>>>
>>> /.../source/misc.h:414:2: warning: comparison of unsigned expression < 0 is 
>>> always false [-Wtype-limits] /.../source/misc.h: In instantiation of 
>>> 'std::string CryptoPP::IntToString(T, unsigned int) [with T = unsigned int; 
>>> std::string = std::basic_string<char>]': /.../source/simple.h:42:131: 
>>> required from here /.../source/misc.h:414:2: warning: comparison of 
>>> unsigned expression < 0 is always false [-Wtype-limits] In file included 
>>> from /.../source/rijndael.h:8:0, from /.../source/aes.h:4, from 
>>> /.../source/dll.h:11, from /.../source/dll.cpp:6: /.../source/secblock.h: 
>>> In instantiation of 'CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer 
>>> CryptoPP::AllocatorWithCleanup<T, 
>>> T_Align16>::allocate(CryptoPP::AllocatorWithCleanup<T, 
>>> T_Align16>::size_type, const void*) [with T = unsigned char; bool T_Align16 
>>> = false; CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer = unsigned 
>>> char*; CryptoPP::AllocatorWithCleanup<T, T_Align16>::size_type = long 
>>> unsigned int]': /.../source/secblock.h:129:29: required from here
>>>
>>> /.../source/secblock.h:91:3: error: 'CheckSize' was not declared in this 
>>> scope, and no declarations were found by argument-dependent lookup at the 
>>> point of instantiation [-fpermissive]
>>>
>>> /.../source/secblock.h:91:3: note: declarations in dependent base 
>>> 'CryptoPP::AllocatorBase<unsigned char>' are not found by unqualified 
>>> lookup /.../source/secblock.h:91:3: note: use 'this->CheckSize' instead 
>>> /.../source/secblock.h: In instantiation of 
>>> 'CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer 
>>> CryptoPP::AllocatorWithCleanup<T, 
>>> T_Align16>::allocate(CryptoPP::AllocatorWithCleanup<T, 
>>> T_Align16>::size_type, const void*) [with T = short unsigned int; bool 
>>> T_Align16 = false; CryptoPP::AllocatorWithCleanup<T, T_Align16>::pointer = 
>>> short unsigned int*; CryptoPP::AllocatorWithCleanup<T, 
>>> T_Align16>::size_type = long unsigned int]': /.../source/secblock.h:130:29: 
>>> required from here
>>>
>>>
>>> /.../source/algebra.h:51:16: warning: unused parameter 'source' 
>>> [-Wunused-parameter] In file included from /.../source/algebra.h:282:0, 
>>> from /.../source/modarith.h:9, from /.../source/pubkey.h:35, from 
>>> /.../source/gfpcrypt.h:8, from /.../source/dh.h:7, from 
>>> /.../source/dll.h:17, from /.../source/dll.cpp:6: /.../source/algebra.cpp: 
>>> In instantiation of 'const T& 
>>> CryptoPP::AbstractEuclideanDomain<T>::Gcd(const Element&, const Element&) 
>>> const [with T = CryptoPP::Integer; 
>>> CryptoPP::AbstractEuclideanDomain<T>::Element = CryptoPP::Integer]': 
>>> /.../source/modarith.h:15:29: required from here
>>>
>>> /.../source/algebra.cpp:61:2: error: 'Equal' was not declared in this 
>>> scope, and no declarations were found by argument-dependent lookup at the 
>>> point of instantiation [-fpermissive]
>>>
>>> /.../source/algebra.cpp:61:2: note: declarations in dependent base 
>>> 'CryptoPP::AbstractGroup<CryptoPP::Integer>' are not found by unqualified 
>>> lookup /.../source/algebra.cpp:61:2: note: use 'this->Equal' instead In 
>>> file included from /.../source/pubkey.h:36:0, from 
>>> /.../source/gfpcrypt.h:8, from /.../source/dh.h:7, from 
>>> /.../source/dll.h:17, from /.../source/dll.cpp:6: /.../source/filters.h: In 
>>> instantiation of 'size_t CryptoPP::StringSinkTemplate<T>::Put2(const byte*, 
>>> size_t, int, bool) [with T = std::basic_string<char>; size_t = long 
>>> unsigned int; byte = unsigned char]': /.../source/filters.h:614:29: 
>>> required from here /.../source/filters.h:597:9: warning: unused parameter 
>>> 'messageEnd' [-Wunused-parameter]
>>>
>>>
>>> /.../source/algebra.h:210:7: warning: unused parameter 'rhs' 
>>> [-Wunused-parameter] In file included from /.../source/dll.h:20:0, from 
>>> /.../source/dll.cpp:6: /.../source/eccrypto.h: In instantiation of 'void 
>>> CryptoPP::DL_GroupParameters_EC<EC>::Initialize(const EllipticCurve&, const 
>>> Point&, const CryptoPP::Integer&, const CryptoPP::Integer&) [with EC = 
>>> CryptoPP::ECP; CryptoPP::DL_GroupParameters_EC<EC>::EllipticCurve = 
>>> CryptoPP::ECP; CryptoPP::DL_GroupParameters_EC<EC>::Point = 
>>> CryptoPP::ECPPoint]': /.../source/eccrypto.h:263:29: required from here **
>>>
>>> /.../source/eccrypto.h:46:3: error: 'SetSubgroupGenerator' was not declared 
>>> in this scope, and no declarations were found by argument-dependent lookup 
>>> at the point of instantiation [-fpermissive]
>>>
>>> ** /.../source/eccrypto.h:46:3: note: declarations in dependent base 
>>> 'CryptoPP::DL_GroupParameters<CryptoPP::ECPPoint>' are not found by 
>>> unqualified lookup /.../source/eccrypto.h:46:3: note: use 
>>> 'this->SetSubgroupGenerator' instead In file included from 
>>> /.../source/eccrypto.h:258:0, from /.../source/dll.h:20, from 
>>> /.../source/dll.cpp:6: /.../source/eccrypto.cpp: In instantiation of 'void 
>>> CryptoPP::DL_GroupParameters_EC<EC>::Initialize(const CryptoPP::OID&) [with 
>>> EC = CryptoPP::ECP]': /.../source/eccrypto.h:263:29: required from here **
>>>
>>> /.../source/eccrypto.cpp:594:101: error: 'ExponentiateElement' was not 
>>> declared in this scope, and no declarations were found by 
>>> argument-dependent lookup at the point of instantiation [-fpermissive]
>>>
>>> ** /.../source/eccrypto.cpp:594:101: note: declarations in dependent base 
>>> 'CryptoPP::DL_GroupParameters<CryptoPP::ECPPoint>' are not found by 
>>> unqualified lookup /.../source/eccrypto.cpp:594:101: note: use 
>>> 'this->ExponentiateElement' instead In file included from 
>>> /.../source/dll.h:20:0, from /.../source/dll.cpp:6: /.../source/eccrypto.h: 
>>> In instantiation of 'void 
>>> CryptoPP::DL_GroupParameters_EC<EC>::Initialize(const EllipticCurve&, const 
>>> Point&, const CryptoPP::Integer&, const CryptoPP::Integer&) [with EC = 
>>> CryptoPP::EC2N; CryptoPP::DL_GroupParameters_EC<EC>::EllipticCurve = 
>>> CryptoPP::EC2N; CryptoPP::DL_GroupParameters_EC<EC>::Point = 
>>> CryptoPP::EC2NPoint]': /.../source/eccrypto.h:264:29: required from here **
>>>
>>> /.../source/eccrypto.h:148:44: error: 'SetPublicElement' was not declared 
>>> in this scope, and no declarations were found by argument-dependent lookup 
>>> at the point of instantiation [-fpermissive]
>>>
>>> ** /.../source/eccrypto.h:148:44: note: declarations in dependent base 
>>> 'CryptoPP::DL_PublicKey<CryptoPP::ECPPoint>' are not found by unqualified 
>>> lookup /.../source/eccrypto.h:148:44: note: use 'this->SetPublicElement' 
>>> instead /.../source/eccrypto.h: In instantiation of 'void 
>>> CryptoPP::DL_PublicKey_EC<EC>::Initialize(const EC&, const Element&, const 
>>> CryptoPP::Integer&, const Element&) [with EC = CryptoPP::ECP; 
>>> CryptoPP::DL_PublicKey_EC<EC>::Element = CryptoPP::ECPPoint]': 
>>> /.../source/eccrypto.h:267:29: required from here **
>>>
>>> /.../source/eccrypto.h:169:4: error: 'GenerateRandom' was not declared in 
>>> this scope, and no declarations were found by argument-dependent lookup at 
>>> the point of instantiation [-fpermissive]
>>>
>>> ** /.../source/eccrypto.h:169:4: note: declarations in dependent base 
>>> 'CryptoPP::DL_PrivateKeyImpl<CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP> 
>>> >' are not found by unqualified lookup /.../source/eccrypto.h:169:4: note: 
>>> use 'this->GenerateRandom' instead /.../source/eccrypto.h: In instantiation 
>>> of 'void 
>>> CryptoPP::DL_PrivateKey_EC<EC>::Initialize(CryptoPP::RandomNumberGenerator&,
>>>  const EC&, const Element&, const CryptoPP::Integer&) [with EC = 
>>> CryptoPP::ECP; CryptoPP::DL_PrivateKey_EC<EC>::Element = 
>>> CryptoPP::ECPPoint]': /.../source/eccrypto.h:271:29: required from here
>>>
>>>
>>>
>>> Best Regards
>>>  NoRulez
>>>
>>>
>>> --
>>> 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.
>>
>>
>>
>> --
>> 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.
>>
>>
>

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