【发布时间】:2020-03-25 17:08:06
【问题描述】:
在我的一个源文件中,我有:
#ifdef __unix__
#include <pthread.h>
#else
#ifdef _WIN32
#include <processthreadsapi.h>
#endif // _WIN32
#endif // __unix__
(是的,这不是最棒的代码,但它受到我正在与之交互的另一个库的限制。)
现在,CMake 是让我与库挂钩以链接的机制;所以 - 我想使用与 CMake 完全相同的逻辑来决定是使用 WIndows 线程还是 pthreads。或者 - 让 CMake 为我做出这个决定。
我该怎么做?
我想让 CMake 为我决定这些事情
【问题讨论】:
-
另一个要考虑的选项是 C++11 线程,如果它们适合您的需要的话。如果双方的编译器都足够新,并且没有其他原因无法使用它们,那么它的可移植性会更高,并且也会简化您的 CMake 配置。
-
@George:不幸的是,我需要它来与本身使用线程的 C 库进行交互,而且我受到它的限制。我想我会把这个问题重新归类为 C。
标签: c multithreading cmake pthreads