Could not find a package configuration file provided by "Xlnt" with any of
the following names:
XlntConfig.cmake
xlnt-config.cmake
Add the installation prefix of "Xlnt" to CMAKE_PREFIX_PATH or set
"Xlnt_DIR" to a directory containing one of the above files. If "Xlnt"
provides a separate development package or SDK, be sure it has been
installed.
CMakeLists.txt
cmake_minimum_required(VERSION 3.25.2)
SET(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/scripts/buildsystems/vcpkg.cmake")
project(untitled)
set(CMAKE_CXX_STANDARD 17)
add_executable(untitled main.cpp)
find_package(Xlnt CONFIG REQUIRED)
find_package(duckx CONFIG REQUIRED)
target_link_libraries(untitled PRIVATE xlnt::xlnt)
target_link_libraries(untitled PRIVATE duckx::duckx)
vcpkg.json
{
"name" : "untitled",
"dependencies" : [ {
"name" : "duckx",
"version>=" : "1.2.2#1"
}, {
"name" : "xlnt",
"version>=" : "1.5.0#4"
} ]
}
IDE: Clion, with using vcpkg.
P.S. Beginner
Try to use another (from clion, may they config is better than my) vcpkg. try to add
include_directories("C:\\vcpkg\\packages\\xlnt_x64-windows")
link_directories("C:\\vcpkg\\packages\\xlnt_x64-windows")
Nothing change. when im add
include("C:/vcpkg/scripts/buildsystems/vcpkg.cmake")
I take:
"C:\Program Files\JetBrains\CLion 2023.1.5\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Debug "-DCMAKE_MAKE_PROGRAM=C:/Program Files/JetBrains/CLion 2023.1.5/bin/ninja/win/x64/ninja.exe" -G Ninja -S C:\Users\Kosmo\CLionProjects\untitled -B C:\Users\Kosmo\CLionProjects\untitled\cmake-build-debug -- Running vcpkg install error: C:\Users\Kosmo\CLionProjects\untitled\vcpkg.json was rejected because it uses "version>=" and does not have a "builtin-baseline". This can be fixed by removing the uses of "version>=" or adding a "builtin-baseline". See 'vcpkg help versioning for more information. -- Running vcpkg install - failed CMake Error at C:/vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message): vcpkg install failed. See logs for more information: C:\Users\Kosmo\CLionProjects\untitled\cmake-build-debug\vcpkg-manifest-install.log Call Stack (most recent call first): C:/Program Files/JetBrains/CLion 2023.1.5/bin/cmake/win/x64/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake:124 (include) CMakeLists.txt:3 (project) CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! [Failed to reload]
and that problem didn't resolved. Removed include, deleted build directory.
I do not really know vcpkg well so not sure if I can help.
As you might see in the error message, for each package you are looking for, cmake searches a file named <PackageName>Config.cmake
or <PackageName>-config.cmake
.
In your case it cannot find them.
That might be because cmake searches at the wrong locations.
Since you use the config mode, cmake searches for them in some directories located in the path which is stored in the CMAKE_PREFIX_PATH
variable.
A more detailed description can be found here: https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure
However, you do not want to move those files there by hand.
I checked the vcpkg documentation and it states, that you should create a CMakePresets.json
file inside your project directory:
{ "version": 3, "configurePresets": [ { "name": "default", "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" } } ] }
With the help of this file, vcpkg will generate a CMakeToolchain.cmake
file, which enables the possibility to find the packages.
Source: https://learn.microsoft.com/en-us/vcpkg/get_started/get-started?pivots=shell-c