Crypto++ - jak statyczne podpięcie biblioteki do projektu w Visual Studio2017

0

Witam ,
Korzystam z Visaula Studio 2017 community i mam w tym lokalny debuger windows

Pobrałem paczkę ** Crypto++** z Github'a: https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_6_1_0
Skompilowałem projekt cryptest.sln i musiałem dociągnąć paczkę WindowsSDK 8.1 oraz Uniwersalny zestaw SDK środowiska CRT dla systemu Windows - koniec dygresji .

Finalnie skompilowałem projekt cryptest.sln z paczki Crypto++ w wyniku czego tworzy się folder o nazwie win32 lub x64 - zależy co wybiorę ,oby dwa powstają w trybie Debug. Wygląda to tak jak w załącznikach ,które dodałem . Ale skupmy się na razie na folderze win32.

Po zbadaniu folderu win32 w katalogu output/debug/ - tworzą się pliki .lib ,* .exe* i inne, ale plik cryptest.exe nie działa .. w załączniku jest komunikat o błędzie :/ .Czy to może oznaczać ,że mimo pozytywnego komunikatu o ukończeniu kompilacji projekt się nie skompilował poprawnie ??....

W właściwościach projektu dokonałem też dodatkowych kilku zmian :

  1. ppm(nazwa projektu)->właściwości-> konsolidator->dane wejściowe->dodatkowe zależności->**i dodaje bibliotekę cryptlib.lib jako dodatkowa zależność **

  2. C/C++-> Ogólne->Dodatkowe katalogi plików nagłówkowych ->**dodaje katalog z wszystkimi plikami nagłówkowymi - .h - jakie były wykorzystywane podczas kompilacji projektucryptest.sln

Próbowałem zrobić test z tej strony :
https://www.cryptopp.com/wiki/Benchmarks // <- jest tam zakładka sample program
Skopiowałem całą zawartość z zakładki Sample program do nowego projektu o nazwie cryptotes++ i z początku nie znajdywało bibliotek ,które są użyte w tym kodzie :

#include "cryptlib.h"
#include "secblock.h"
#include "hrtimer.h"
#include "osrng.h"
#include "modes.h"
#include "aes.h"
#include <iostream>

const double runTimeInSeconds = 3.0;
const double cpuFreq = 2.7 * 1000 * 1000 * 1000;

int main(int argc, char* argv[])
{
    using namespace CryptoPP;
    AutoSeededRandomPool prng;

    SecByteBlock key(16);
    prng.GenerateBlock(key, key.size());
    
    <u>CTR<AES>::Encryption cipher;
    cipher.SetKeyWithIV(key, key.size(), key);</u>

    const int BUF_SIZE = RoundUpToMultipleOf(2048U,
        dynamic_cast<StreamTransformation&>(cipher).OptimalBlockSize());

    AlignedSecByteBlock buf(BUF_SIZE);
    prng.GenerateBlock(buf, buf.size());

    double elapsedTimeInSeconds;
    unsigned long i=0, blocks=1;

    ThreadUserTimer timer;
    timer.StartTimer();

    do
    {
        blocks *= 2;
        for (; i<blocks; i++)
            cipher.ProcessString(buf, BUF_SIZE);
        elapsedTimeInSeconds = timer.ElapsedTimeAsDouble();
    }
    while (elapsedTimeInSeconds < runTimeInSeconds);

    const double bytes = static_cast<double>(BUF_SIZE) * blocks;
    const double ghz = cpuFreq / 1000 / 1000 / 1000;
    const double mbs = bytes / elapsedTimeInSeconds / 1024 / 1024;
    const double cpb = elapsedTimeInSeconds * cpuFreq / bytes;

    std::cout << cipher.AlgorithmName() << " benchmarks..." << std::endl;
    std::cout << "  " << ghz << " GHz cpu frequency"  << std::endl;
    std::cout << "  " << cpb << " cycles per byte (cpb)" << std::endl;
    std::cout << "  " << mbs << " MiB per second (MiB)" << std::endl;

    // std::cout << "  " << elapsedTimeInSeconds << " seconds passed" << std::endl;
    // std::cout << "  " << (word64) bytes << " bytes processed" << std::endl;

    return 0;
}

Efekt kompilacji jest w załączniku nr.7 i nr.8

Coś źle rozumuje w całym procesie dodawania statycznych libek .. tylko nie wiem co .Napiszcie czy jest to w miarę zrozumiałe . Dziękuje wszystkim za przeczytanie tych wypocin :)

Jeśli czegoś nie dodałem napiszcie, chętnie uzupełnię informacje .. dodam tylko ,że stackoverflow i google był grany od 2 dni -_- ..zaraz strace wszystkie włosy
Jeśli komuś przeszkadza forma załącznikowa również postaram się to zmienić .

0

NIe zauważyłem ,że nie dodałem :)

[edit] ok , błąd jest raczej dość poważny , bo mam zainstalowane VS2017 na windows 7 sp.1 , doczytałem się ,że vs17 ma jakieś problemy z Windows 7,więc mam dwa rozwiązania:

  1. Zainstalować Windows 10 i zobaczyć
  2. Zainstalować VS 15 na windows 7

1 użytkowników online, w tym zalogowanych: 0, gości: 1