cmake_minimum_required(VERSION 3.22)
project(playground CXX)
set(CMAKE_CXX_STANDARD 11)
find_package(Threads REQUIRED)
set(THREADS_PREFER_PTHREAD_FLAG ON)
message(STATUS "CMAKE_THREAD_LIBS_INIT: ${CMAKE_THREAD_LIBS_INIT}")
add_executable(playground main.cpp)
target_link_libraries(playground ${CMAKE_THREAD_LIBS_INIT})
这段 cmakelists.txt 在 ubuntu 系统下的 gcc 上正常运行,在 MacOS 的 ARM 架构下的 AppleClang 下${CMAKE_THREAD_LIBS_INIT}$
读到的是空的,这个是有什么坑吗?求指点。
1
stimw 311 天前
不要用 apple clang ,坑一堆,遇到过正则的问题
brew 另外下个 llvm |
2
Elaina OP @stimw 用 homebrew 下了个 gcc ,然而这玩意儿 gcc 的默认重定向还是 apple clang ,还得自己手动指派一下,给我整乐了😂,这玩意儿真拉啊,一个基本的 thread 都支持不好
|
3
beyondstars 311 天前
我一般会单独起一个虚拟机,然后让 CLion 连接虚拟机进行开发。
|
4
lcdtyph 311 天前 via iPhone
CMAKE_THREAD_LIBS_INIT
The thread library to use. This may be empty if the thread functions are provided by the system libraries and no special flags are needed to use them. 这个 flag 本来就可以是空的,当编译器不需要加 -pthread 的时候 |
6
lcdtyph 310 天前 via iPhone 1
|
7
fly2never 310 天前
如果是 cpp 的话,我直接 std::thread 够用
|