с использованием Cmake и Conan(v2.0.4), буду рад подсказке.
мой conanfile.txt
[requires]
asio/1.18.0
[generators]
CMakeDeps
CMakeToolchain
мой CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(VkTraineeshipTask)
find_package(asio REQUIRED)
add_executable(${PROJECT_NAME} main.cpp)
target_link_libraries(${PROJECT_NAME} asio)
Далее пишу
$ conan install . --build=missing --output-folder=./cmake-build-debug
$ cd cmake-build-debug
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
$ cmake --build .
Прилетает ворнинг:
➜ cmake-build-debug cmake .. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release
-- Using Conan toolchain: /home/timur/04Projects/VkTraineeshipTask/cmake-build-debug/conan_toolchain.cmake
-- Conan toolchain: C++ Standard 17 with extensions ON
-- Conan: Target declared 'asio::asio'
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_TOOLCHAIN_FILE
-- Build files have been written to: /home/timur/04Projects/VkTraineeshipTask/cmake-build-debug
А затем падает с ошибкой:
➜ cmake-build-debug cmake --build .
[1/2] Building CXX object CMakeFiles/VkTraineeshipTask.dir/main.cpp.o
FAILED: CMakeFiles/VkTraineeshipTask.dir/main.cpp.o
/usr/bin/c++ -O3 -DNDEBUG -std=gnu++17 -MD -MT CMakeFiles/VkTraineeshipTask.dir/main.cpp.o -MF CMakeFiles/VkTraineeshipTask.dir/main.cpp.o.d -o CMakeFiles/VkTraineeshipTask.dir/main.cpp.o -c /home/timur/04Projects/VkTraineeshipTask/main.cpp
/home/timur/04Projects/VkTraineeshipTask/main.cpp:2:10: fatal error: asio.hpp: No such file or directory
2 | #include <asio.hpp>
| ^~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
Я делаю по гайду https://docs.conan.io/2/tutorial/consuming_packages/build_simple_cmake_project.html . Также я пробовал подключать через find_package(), но тогда не совсем понятно где искать пекедж asio. Может ли он быть в /usr/include (я с работаю с Linux'a)? Или conan устанавливает его в другое место?
https://t.me/probuildsystems вам сюда
после 2 часов мучений я все же справился)
Обсуждают сегодня