Как отлаживать код статической библиотеки в CLion

У меня есть проект в CLion. Я решил вынести часть кода в статическую библиотеку. Сделал это следующим образом:

  1. Создал отдельную папку в корне проекта
  2. Поместил туда все исходники, необходимые для этой библиотеки
  3. Сделал там отдельный файл CMakeLists.txt со следующим содержанием:
cmake_minimum_required(VERSION 3.20)
project(MyLib)

set(CMAKE_CXX_STANDARD 17)

include_directories(.)

add_library(MyLib STATIC source1.cpp source2.cpp source3.cpp)
  1. CMakeLists.txt в корне преобразовал следующим образом:
cmake_minimum_required(VERSION 3.20)
project(MyExe)

set(CMAKE_CXX_STANDARD 17)

include_directories(../../boost_1_73_0)
link_directories(../../boost_1_73_0/libs)

add_subdirectory(MyLib)
add_executable(MyExe main.cpp)

if (DEFINED DEBUG)
    find_library(MY_LIB_DEBUG MyLib ${PROJECT_SOURCE_DIR}/cmake-build-debug/MyLib)
    target_link_libraries(MyExe PUBLIC ${MY_LIB_DEBUG})
else()
    find_library(MY_LIB_RELEASE MyLib ${PROJECT_SOURCE_DIR}/cmake-build-release/MyLib)
    target_link_libraries(MyExe PUBLIC ${MY_LIB_RELEASE})
endif()

Всё компилируется и работает, функции из библиотеки вызываются. Но когда я пытаюсь поставить точку останова, например, в файле source1.cpp, она отмечается перечёркнутым кругом при запуске отладки и высвечивается подсказка "The breakpoint will not currently be hit. No executable code is associated with this line.".

Вопрос: что нужно поменять в проекте, чтобы я мог проходить отладчиком по исходникам статической библиотеки, если я собираю её в составе этого же проекта и все исходники у меня есть?

P.S. Когда работал с Visual Studio, она как-то сама подхватывала код статических либ, даже если те были собраны отдельным проектом в составе этого же решения.


Ответы (0 шт):