Search code examples
linuxcmakeclion

undefined reference to `pthread_create' CLion


I'm trying to compile my program using CLion under Linux (Ubuntu) OS.

My CMake file:

# cmake_minimum_required(VERSION 3.5)
  project(untitled2 C)

  set(CMAKE_C_STANDARD 99)
  set(CMAKE_CXX_FLAGS -pthread)
  add_executable(untitled2 main.c)

My pragram using threads so I've added set(CMAKE_CXX_FLAGS -pthread) that required to compile my program. I got a compilation error: "undefined reference to pthread_create"

I can compile the program via the terminal using the following:

gcc main.c -o main -pthread

I think that my issue is with the CMake file. Can someone please help my with that matter ?

Thank you!


Solution

  • I might still not be the best option but using a call to
    find_package(Threads REQUIRED)
    in combination with
    target_link_libraries(mytarget PRIVATE Threads::Threads)
    is the more modern way of getting to your goal because you should perform your actions on a target (instead of using 'magic' variables that could influence other parts of the project or even contain spelling issues).

    See: https://codingnest.com/basic-cmake-part-2/