Код: Выделить всё
cmake_minimum_required(VERSION 3.19)
project(MyHello LANGUAGES CXX)
find_package(deal.II 9.4.2 CONFIG REQUIRED)
find_package(Boost REQUIRED)
find_package(TBB CONFIG REQUIRED)
add_executable(dealII_test dealII_test.cpp)
target_link_libraries(dealII_test
PUBLIC TBB::tbb
PUBLIC TBB::tbbmalloc
PUBLIC TBB::tbbmalloc_proxy
PRIVATE Boost::boost
PRIVATE deal_II
)
Код: Выделить всё
ninja: error: '/lib', needed by 'dealII_test.exe', missing and no known rule to make it
Проблема в том, что я не могу определить источник неправильного определения, вызывающего ошибку. Итак, я хотел бы знать, как отладить или распечатать содержимое всего, что находится внутри части Deal_II.
Я попробовал ответ, получивший наибольшее количество голосов: «Отображение списка связанных библиотек цели в cmake», но я получаю только то, что уже знаю, просто прочитав сценарий CMake. Мне нужен какой-то полный список файлов DLL/SO/LIB, связанных с исполняемым файлом, а не имена зависимостей высокого уровня, уже перечисленные в CMakeLists.txt.
Я создаю с помощью Conan, поэтому мне лучше попытаться отладить содержимое Deal_II с помощью рецепта и/или задействованных файлов CMakeLists.txt.
Подробнее здесь: https://stackoverflow.com/questions/798 ... es-command
Мобильная версия