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.
CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)

PROJECT(cryptopp)

#FILE(GLOB CRYPTOPP_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
#FILE(GLOB CRYPTOPP_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/*.h")

if(WIN32)
    add_definitions(-DCRYPTOPP_EXPORTS)
    add_definitions(-DCRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2=1)
else(WIN32)
    if(APPLE)
        add_definitions(-DCRYPTOPP_DISABLE_ASM)
        add_definitions(-DCRYPTOPP_DISABLE_SSE2)
    endif(APPLE)
endif(WIN32)

set(CRYPTOPP_LIB_HEADERS
    3way.h
    adler32.h
    aes.h
    algebra.h
    algparam.h
    arc4.h
    argnames.h
    asn.h
    authenc.h
    base32.h
    base64.h
    basecode.h
    #bench.h
    blowfish.h
    blumshub.h
    camellia.h
    cast.h
    cbcmac.h
    ccm.h
    channels.h
    cmac.h
    config.h
    cpu.h
    crc.h
    cryptlib.h
    default.h
    des.h
    dh.h
    dh2.h
    #dll.h
    dmac.h
    dsa.h
    eax.h
    ec2n.h
    eccrypto.h
    ecp.h
    elgamal.h
    emsa2.h
    eprecomp.h
    esign.h
    #factory.h
    files.h
    filters.h
    fips140.h
    fltrimpl.h
    gcm.h
    gf256.h
    gf2n.h
    gf2_32.h
    gfpcrypt.h
    gost.h
    gzip.h
    hex.h
    hmac.h
    hrtimer.h
    ida.h
    idea.h
    integer.h
    iterhash.h
    lubyrack.h
    luc.h
    mars.h
    md2.h
    md4.h
    md5.h
    mdc.h
    misc.h
    modarith.h
    modes.h
    modexppc.h
    mqueue.h
    mqv.h
    nbtheory.h
    network.h
    nr.h
    oaep.h
    oids.h
    osrng.h
    panama.h
    pch.h
    pkcspad.h
    polynomi.h
    pssr.h
    pubkey.h
    pwdbased.h
    queue.h
    rabin.h
    randpool.h
    rc2.h
    rc5.h
    rc6.h
    #resource.h
    rijndael.h
    ripemd.h
    rng.h
    rsa.h
    rw.h
    safer.h
    salsa.h
    seal.h
    secblock.h
    seckey.h
    seed.h
    serpent.h
    #serpentp.h
    sha.h
    shacal2.h
    shark.h
    simple.h
    skipjack.h
    smartptr.h
    socketft.h
    sosemanuk.h
    square.h
    stdcpp.h
    strciphr.h
    tea.h
    tiger.h
    trdlocal.h
    trunhash.h
    ttmac.h
    twofish.h
    #validate.h
    vmac.h
    wait.h
    wake.h
    whrlpool.h
    winpipes.h
    words.h
    xtr.h
    xtrcrypt.h
    zdeflate.h
    zinflate.h
    zlib.h
)

set(CRYPTOPP_LIB_SOURCES
    3way.cpp
    adhoc.cpp.proto
    adler32.cpp
    algebra.cpp
    algparam.cpp
    arc4.cpp
    asn.cpp
    authenc.cpp
    base32.cpp
    base64.cpp
    basecode.cpp
    #bench.cpp
    #bench2.cpp
    bfinit.cpp
    blowfish.cpp
    blumshub.cpp
    camellia.cpp
    cast.cpp
    casts.cpp
    cbcmac.cpp
    ccm.cpp
    channels.cpp
    cmac.cpp
    cpu.cpp
    crc.cpp
    cryptlib.cpp
    #cryptlib_bds.cpp
    #datatest.cpp
    default.cpp
    des.cpp
    dessp.cpp
    dh.cpp
    dh2.cpp
    dll.cpp
    #dlltest.cpp
    dsa.cpp
    eax.cpp
    ec2n.cpp
    eccrypto.cpp
    ecp.cpp
    elgamal.cpp
    emsa2.cpp
    eprecomp.cpp
    esign.cpp
    files.cpp
    filters.cpp
    fips140.cpp
    #fipsalgt.cpp
    fipstest.cpp
    gcm.cpp
    gf256.cpp
    gf2n.cpp
    gf2_32.cpp
    gfpcrypt.cpp
    gost.cpp
    gzip.cpp
    hex.cpp
    hmac.cpp
    hrtimer.cpp
    ida.cpp
    idea.cpp
    integer.cpp
    iterhash.cpp
    luc.cpp
    mars.cpp
    marss.cpp
    md2.cpp
    md4.cpp
    md5.cpp
    misc.cpp
    modes.cpp
    mqueue.cpp
    mqv.cpp
    nbtheory.cpp
    network.cpp
    oaep.cpp
    osrng.cpp
    panama.cpp
    pch.cpp
    pkcspad.cpp
    polynomi.cpp
    pssr.cpp
    pubkey.cpp
    queue.cpp
    rabin.cpp
    randpool.cpp
    rc2.cpp
    rc5.cpp
    rc6.cpp
    rdtables.cpp
    #regtest.cpp
    rijndael.cpp
    ripemd.cpp
    rng.cpp
    rsa.cpp
    rw.cpp
    safer.cpp
    salsa.cpp
    seal.cpp
    seed.cpp
    serpent.cpp
    sha.cpp
    shacal2.cpp
    shark.cpp
    sharkbox.cpp
    simple.cpp
    skipjack.cpp
    socketft.cpp
    sosemanuk.cpp
    square.cpp
    squaretb.cpp
    strciphr.cpp
    tea.cpp
    #test.cpp
    tftables.cpp
    tiger.cpp
    tigertab.cpp
    trdlocal.cpp
    ttmac.cpp
    twofish.cpp
    #validat1.cpp
    #validat2.cpp
    #validat3.cpp
    vmac.cpp
    wait.cpp
    wake.cpp
    whrlpool.cpp
    winpipes.cpp
    xtr.cpp
    xtrcrypt.cpp
    zdeflate.cpp
    zinflate.cpp
    zlib.cpp
)

ADD_LIBRARY(cryptlib ${CRYPTOPP_LIB_HEADERS} ${CRYPTOPP_LIB_SOURCES})
if(WIN32)
    target_link_libraries(cryptlib odbc32 odbccp32 ws2_32)
endif(WIN32)

set(CRYPTOPP_TEST_HEADERS
    bench.h
    factory.h
    validate.h
)

set(CRYPTOPP_TEST_SOURCES
    adhoc.cpp
    bench.cpp
    bench2.cpp
    datatest.cpp
    dlltest.cpp
    fipsalgt.cpp
    regtest.cpp
    test.cpp
    validat1.cpp
    validat2.cpp
    validat3.cpp
)

ADD_EXECUTABLE(cryptest ${CRYPTOPP_TEST_HEADERS} ${CRYPTOPP_TEST_SOURCES})
target_link_libraries(cryptest cryptlib)

Reply via email to