Fork me on GitHub

Windows:基于 MinGW 的 CLion 使用 Pthreads

1,准备工作:

CLion 2021.2
Pthreads-Win32(使用迅雷FTP下载地址:ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip)
MinGW

2,Pthreads-Win32 配置

3,MinGW 需要确保安装 Pthreads

3.1 打开 MinGW Installation

  • “开始”菜单 --> “MinGW Installation Manager”

3.2 安装 mingw32-pthreads

选择 mingw32-pthreads

标记为待安装

安装

4,配置 CLion CMakeLists.txt

4.1 本教程是基于 C 语言的

  • set(CMAKE_C_STANDARD 99)

4.2 项目中新建 includelib 目录

  • 将 Pthreads 中的 include 文件复制到本项目的 include 中: pthreads-w32-2-9-1-release\Pre-built.2\include
  • 将 Pthreads 中的 lib 文件复制到本项目的 lib 目录中,可以只复制 .lib 结尾的文件
    • 如果项目是基于 64 位开发,目录位置:pthreads-w32-2-9-1-release\Pre-built.2\lib\x64
    • 如果项目是基于 32 位开发,目录位置:pthreads-w32-2-9-1-release\Pre-built.2\lib\x86

4.3 CMakeLists.txt 中关于 Pthreads 配置

# 设置头文件路径
set(INC_DIR ./include)

# 设置链接库路径
set(LINK_DIR ./lib)

# 引入头文件
include_directories(${INC_DIR})

# 引入库文件
link_directories(${LINK_DIR})

# 配置 -pthread 命令
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")


# 省略其他部分...

4.4 其他解决方案(我没有验证成功,可以自行查看下方参考资料阅读)

set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(sqlite_storage main.c)

# 将第三方库连接在一起
target_link_libraries(sqlite_storage Threads::Threads)

参考资料:

posted @ 2021-08-25 08:59  小a的软件思考  阅读(641)  评论(0编辑  收藏  举报