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.
