Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to import library in CMAKE download by vcpkg?

I am trying to import a library that i installed using vcpkg (vcpkg install azure-storage-blobs-cpp)

In my c++ file I am trying to import azure/storage/blobs.hpp

In my vcpkg directory, i have the following file

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

./installed/x64-osx/include/azure/storage/blobs.hpp
./packages/azure-storage-blobs-cpp_x64-osx/include/azure/storage/blobs.hpp

vcpkg install azure-storage-blobs-cpp returns

azure-storage-blobs-cpp provides CMake targets:
    # this is heuristically generated, and may not be correct
    find_package(azure-storage-blobs-cpp CONFIG REQUIRED)
    target_link_libraries(main PRIVATE Azure::azure-storage-blobs)

Here is my cpp file

    #include <iostream>
    #include <azure/storage/blobs.hpp>
    int main() {
            std::cout<<"Hello CMake!"<<std::endl;
            return 0;
    }

Here is my CMAKE file

    cmake_minimum_required(VERSION 3.9.1)
    project(CMakeHello)
    set(CMAKE_CXX_STANDARD 14)

    find_package(azure-storage-blobs-cpp CONFIG REQUIRED)
    target_link_libraries(main PRIVATE Azure::azure-storage-blobs)
    add_executable(cmake_hello azuretest.cpp)

but i am reaching

CMake Error at CMakeLists.txt:7 (find_package):
  Could not find a package configuration file provided by
  "azure-storage-blobs-cpp" with any of the following names:

    azure-storage-blobs-cppConfig.cmake
    azure-storage-blobs-cpp-config.cmake

  Add the installation prefix of "azure-storage-blobs-cpp" to
  CMAKE_PREFIX_PATH or set "azure-storage-blobs-cpp_DIR" to a directory
  containing one of the above files.  If "azure-storage-blobs-cpp" provides a
  separate development package or SDK, be sure it has been installed.

after cmake CMakeLists.txt

How do I import azure/storage/blobs.hpp?

This is in mac environment

>Solution :

You need to use:

-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake

while configuring your cmake. You can see full guide here. So you need to first correct your cmake as follows:

cmake_minimum_required(VERSION 3.9.1)
project(CMakeHello)
set(CMAKE_CXX_STANDARD 14)

find_package(azure-storage-blobs-cpp CONFIG REQUIRED)

add_executable(cmake_hello azuretest.cpp)
target_link_libraries(cmake_hello PRIVATE Azure::azure-storage-blobs)

then run following commands in your source directory:

cmake -B ./build -S . -DCMAKE_TOOLCHAIN_FILE=[path_to_vcpkg]/scripts/buildsystems/vcpkg.cmake
cmake --build ./build

remember to replace [path_to_vcpkg] with real path.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading