ссылка на библиотеку pthread с помощью CMake (в CLion)

Я просмотрел все, и я не могу понять, как заставить Клиона связать библиотеку lpthread. Я знаю, что w / gcc вы можете просто ввести-lpthread, но мне нужно сделать некоторую отладку в CLion.

вот мой текущий файл CMakeLists:

cmake_minimum_required(VERSION 3.3)

project(lab4)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

include_directories(/usr/include/)
link_directories(/usr/include/)

set(SOURCE_FILES lab4_v2.c)
add_executable(lab4 ${SOURCE_FILES})

4 ответов


измените эту строку

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread")

вы должны использовать target_link_libraries:

target_link_libraries(lab4 pthread)

Для C:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")

ответ от CLion 2018.2 и связанной версии cmake 3.12.0

я использовал другие ответы в этом потоке для изменения моих CMakeLists.txt, и в конечном итоге мне пришлось добавить вторую строку с set (), чтобы сделать эту работу. Мой файл выглядит следующим образом:

cmake_minimum_required(VERSION 3.12)
project(thread_test_project C)

set(CMAKE_C_STANDARD 99)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")

include_directories(.)

add_executable(thread_test
        thread_test.c)