🪟 Nesse vídeo vamos ver o passo a passo pra rodar o código do vídeo anterior que consumimos a API do Bitcoin no Windows e com CMake no PowerShell.
Caso ainda não possua.
winget install --id=cURL.cURL -e
As dependências do projeto estão como comentário no
CMakeLists.txt
.
CMakeLists.txt
cmake_minimum_required(VERSION 3.15)
cmake_policy(SET CMP0074 NEW)
project(bitcoin)
add_compile_options(-w)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# libcurl: Copie do caminho:
# C:/Users/[SEU_USUARIO]/AppData/Local/Microsoft/WinGet/Packages/
set(CURL_ROOT "CAMINHO_DA_LIBCURL_MINGW") # Inverter barras
# curlpp [PowerShell administrador]
# git clone https://github.com/jpbarrette/curlpp
# $env:CC="C:/Users/[SEU_USUARIO]/.utils/llvm-mingw/bin/clang.exe"
# $env:CXX="C:/Users/[SEU_USUARIO]/.utils/llvm-mingw/bin/clang++.exe"
# cmake -Wno-dev -S . -G "Unix Makefiles" -B build -DCURL_LIBRARY=[CAMINHO_lib]/libcurl.dll.a -DCURL_INCLUDE_DIR=[CAMINHO_include]
# cmake --build build
# cmake --install build
include_directories(
${CURL_ROOT}/include
${CMAKE_CURRENT_SOURCE_DIR}/curlpp/include
)
link_directories(${CURL_ROOT}/lib)
add_subdirectory(curlpp)
add_executable(bitcoin main.cpp curlpp/build/libcurlpp.a)
target_link_libraries(bitcoin PRIVATE curlpp::curlpp
${CURL_ROOT}/lib/libcurl.dll.a)
# copiar o libcurlpp.dll para a build/
add_custom_command(TARGET bitcoin POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/curlpp/build/libcurlpp.dll
$<TARGET_FILE_DIR:bitcoin>
)
# JSON++ [PowerShell administrador]
# git clone https://github.com/nlohmann/json
# cmake -Wno-dev -G "Unix Makefiles" -B build . -DJSON_BuildTests=OFF
# cmake --build build --target install
set(CMAKE_PREFIX_PATH "C:/Program Files (x86)/nlohmann_json/include")
find_package(nlohmann_json 3.11.3 REQUIRED)
target_link_libraries(bitcoin PRIVATE nlohmann_json::nlohmann_json)
# Tabulate [PowerShell administrador]
# git clone https://github.com/p-ranav/tabulate
# cmake -Wno-dev -G "Unix Makefiles" -B build .
# cmake --build .\build\ --target install
set(CMAKE_PREFIX_PATH "C:/Program Files (x86)/tabulate")
find_package(tabulate REQUIRED)
target_link_libraries(bitcoin PRIVATE tabulate::tabulate)
# request->setOpt<curlpp::options::SslVerifyPeer>(false); // Não verificar o peer
# request->setOpt<curlpp::options::SslVerifyHost>(0L); // Não verificar o host
Não esqueça de modificar o
main.cpp
para Windows conforme há no vídeo!
Caso você queira rodar na sua máquina.
Clique no botão abaixo para fazer o download:
cpp curl windows powershell cmake