Добавьте библиотеку Botan в проект CLion C++.C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Добавьте библиотеку Botan в проект CLion C++.

Сообщение Гость »


Я пытался добавить библиотеку Botan в свой проект на C++, но пока не понял этого. Я использую Ubuntu 22.04, использую CLion с CMake.
Я загрузил последнюю версию (3.3.0) с GitHub и следовал документации по созданию библиотеки. Я выполнил эти команды в своей системе, и библиотека была успешно установлена:

Код: Выделить всё

$ ./configure.py
$ make
$ make check
$ make install
Когда я создал в CLion новый проект с именем example, я добавил следующее в свой CMakeLists.txt:

Код: Выделить всё

cmake_minimum_required(VERSION 3.27)
project(example)

set(CMAKE_CXX_STANDARD 17)

add_executable(example main.cpp)

find_package(Botan 3.3.0)
find_package(Botan 3.3.0 COMPONENTS rsa ecdsa tls13)
find_package(Botan 3.3.0 OPTIONAL_COMPONENTS tls13_pqc)
include_directories("/usr/include")
target_link_libraries(example "Downloads/Botan-3.3.0/libbotan-3.so")
Я создал файл main.cpp, в который добавил пример кода RSA из документации:

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 

#include 

int main(int argc, char* argv[]) {
if(argc != 2) {
return 1;
}
std::string plaintext(
"Your great-grandfather gave this watch to your granddad for good luck. "
"Unfortunately, Dane's luck wasn't as good as his old man's.");
std::vector pt(plaintext.data(), plaintext.data() + plaintext.length());
Botan::AutoSeeded_RNG rng;

// load keypair
Botan::DataSource_Stream in(argv[1]);
auto kp = Botan::PKCS8::load_key(in);

// encrypt with pk
Botan::PK_Encryptor_EME enc(*kp, rng, "OAEP(SHA-256)");
std::vector ct = enc.encrypt(pt, rng);

// decrypt with sk
Botan::PK_Decryptor_EME dec(*kp, rng, "OAEP(SHA-256)");
Botan::secure_vector pt2 = dec.decrypt(ct);

std::cout 

Источник: [url]https://stackoverflow.com/questions/78154962/add-botan-library-to-clion-c-project[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»