我正在尝试在Linux(Ubuntu)操作系统下使用CLion编译我的程序。
我的CMake文件:
# cmake_minimum_required(VERSION 3.5)
project(untitled2 C)
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_FLAGS -pthread)
add_executable(untitled2 main.c)
我的程序使用了线程,所以我添加了set(CMAKE_CXX_FLAGS -pthread)
来编译我的程序。
但是我得到了一个编译错误:“undefined reference to pthread_create”。
我可以通过终端编译程序,使用以下命令:
gcc main.c -o main -pthread
我觉得我的问题在于CMake文件。能否有人帮忙解决这个问题吗?
谢谢!
-pthread
参数传递给链接器(或者显式地使用-lpthread
链接)。你可能想要了解一下[CMake的FindThreads
函数](https://cmake.org/cmake/help/latest/module/FindThreads.html)(尽管目前它已经离线,但根据他们的页面会很快恢复)。 - Some programmer dudeCXX
任何东西都是针对 C++,而不是 C。 - Some programmer dudeCMakeLists.txt
中,有一个非常简单的关于语言和相关变量的模式。 - Some programmer dude