【发布时间】:2017-07-14 12:58:02
【问题描述】:
在阅读 CMake 文档时,有些地方“标准位置”被称为 CMake 将查找库和包含文件的地方。从 Windows 上的 CMake 角度来看,“标准位置”是什么意思。是C:/ 还是什么?如果将库放在不同的分区中,比如G:/,这是否意味着这不是标准位置?
【问题讨论】:
-
在 Linux 上,标头 (
/usr/include) 和库 (/usr/lib、/lib或/usr/lib/<arch>) 有标准位置。在 Windows 上,可能只有c:\windows\system32用于库,而没有默认位置用于标头。您应该在 CMake 目录中找到特定于平台的脚本,也许看看那里可以清除问题。 -
文件
Modules/Platform/Windows.cmake应该设置一些特定于平台的变量,例如它将库扩展名设置为 .dll。似乎没有设置任何路径,而等效的Linux.cmake包括设置这些默认位置的UnixPaths.cmake。我猜 Windows 上没有默认路径。 -
CMake很难在 Windows 上找到包,因为没有标准的库和包含路径。你经常需要告诉 CMake 去哪里找。尽管话虽如此,但许多软件包都假定您安装在 c:\Program Files 中。作为一名 Windows 开发人员,几乎从不将库放在那里,所以我通常使用 CMAKE 变量来引导CMake在我的系统上寻找更可能的位置。 -
@KarstenKoop 在 Windows 上,我的标准库位置是
C:\cygwin\usr\include。当然,标准库位置更多地取决于编译器而不是操作系统。 ;-) -
是 C:/ 还是究竟是什么? 不。在 Windows / Visual Studio 上,它更可能是 C:\Program Files。但这可能取决于您找到的包。
标签: cmake