我是 CMake 的新手。我在 Linux 上针对我正在制作的程序对其进行了测试。该程序使用(POSIX Threads lib),所以在我的 CMakeList 中,我添加了:
find_package(Threads)
它适用于 Linux 发行版(Arch,Mint,Ubuntu,...),但现在,我正在 Windows32(Visual Studio 9 2008)中尝试它,并且在生成过程中收到此消息:
-- Looking for include file pthread.h - not found
(当我编译输出项目文件时,确实没有找到 pthread.h )。
在 Windows 上,将“C:\pthread”视为我的 pthread 目录,我在 path 中定义:
- “C:\pthread\include”(著名的“pthread.h”所在的位置)
- “C:\pthread\”(在 CMake 在某处寻找“包含”的情况下)
但我仍然得到同样的错误(即使在删除缓存之后)。我知道我可以在我的项目中“手动”添加 Pthread,或者在 CMakeList.txt 中定义一些常量,但我认为这不是 CMake 的原则:我可以在所有系统上使用相同的“CMakeList.txt”,对吗?那么我怎么能告诉 CMake “嘿!看起来在这里!Pthread 在这个目录中!”。也许Cmake没有在PATH中查找,而是在另一个环境变量中查找,但我没有找到此信息。
感谢您的阅读。
编辑:我不知道它是否有所作为,但我的项目是 C++ 项目(不是 C)