在Windows 7计算机上,我无法读取包含分号的任何注册表值.
例如,如果您有7-zip,请运行以下命令
SET(MYPATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\7-Zip;Path])
MESSAGE("MYPATH = ${MYPATH}")
Run Code Online (Sandbox Code Playgroud)
结果是
MYPATH = [HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip;Path]
Run Code Online (Sandbox Code Playgroud)
而不是按照以下线程的实际路径.我认为cmake支持包含";"的注册表路径 在Windows 7上被破坏了.有人可以证实这一点吗?有没有解决方法?
根据wiki,您无法使用SET查看注册表项的值.只有在对其执行某些缓存操作时才会读取注册表值.例如,以下内容应输出您想要的路径:
GET_FILENAME_COMPONENT(MYPATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\7-Zip;Path]"
ABSOLUTE CACHE)
MESSAGE("MYPATH = ${MYPATH}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2373 次 |
| 最近记录: |