Como Usar cURL com C++ no Windows com PowerShell e CMake

🪟 Passo a passo para rodar o código de consumir APIs no Windows.


Como Usar cURL com C++ no Windows com PowerShell e CMake


🪟 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.


🎥 Assista ao Vídeo


🏴 Instale as dependências de sistema

Caso ainda não possua.

winget install --id=cURL.cURL  -e

🗎 Códigos e arquivos do vídeo

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!

Download do arquivo RAR

Caso você queira rodar na sua máquina.

Clique no botão abaixo para fazer o download:

📦 bitcoin-run.rar



cpp curl windows powershell cmake


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!