【发布时间】:2021-10-12 14:33:11
【问题描述】:
我正在尝试根据this guide(官方原型指南)在我的 Windows 机器上构建 protobuf。编译工作正常。但。我想将它安装在我的工作区中,其他项目可以轻松访问它。根据指南,我应该像这样指定安装前缀:
C:\Path\to\protobuf\cmake\build\release>cmake -G "NMake Makefiles" ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=../../../../install ^
../..
这不会产生预期的效果,因为最终结果安装在 C:\ 中。 另外,如果我使用环境变量:
$Env:CMAKE_INSTALL_PREFIX="C:/Users/uname/Workspace/protobuf-3.18.0/install"
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..\..
或者
$Env:CMAKE_INSTALL_PREFIX="C:\Users\uname\Workspace\protobuf-3.18.0\install"
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..\..
我得到的结果略有不同。它尝试安装在:
C:\Program files (x86)\Protobuf\lib
而且由于缺乏特权,当然会失败。是否可以在 powershell 中安排 env 以使 cmake 实际上获取 我 想要的安装前缀 em>?
【问题讨论】:
-
CMake has never honored
CMAKE_INSTALL_PREFIX作为环境变量。 -
使用
CMAKE_INSTALL_PREFIX的绝对路径,除非你喜欢惊喜
标签: windows powershell cmake