CMake需要管理员

2mbi3lxu  于 2022-12-13  发布在  其他
关注(0)|答案(4)|浏览(177)

我尝试在使用CMake和Visual Studio构建的可执行文件上设置RequireAdministrator清单标志。
关于如何指示CMake设置该选项有什么想法吗?
谢谢你!
账单3

kx1ctssn

kx1ctssn1#

我很感激这个问题被标记为visual-studio-2008,但是对于VS2010,这会产生以下错误消息:
错误MSB 4030:“level ='requireAdministrator' uiAccess ='false'”是“链接”任务的“UACUIAccess”参数的无效值。“UACUIAccess”参数的类型为“System.Boolean”。
VS2010的等效CMake命令(忽略/SUBSYSTEM:WINDOWS部分)为

SET_TARGET_PROPERTIES(your_executable PROPERTIES LINK_FLAGS "/level='requireAdministrator' /uiAccess='false'")
qyswt5oh

qyswt5oh2#

试试这个:

SET_TARGET_PROPERTIES(your_executable PROPERTIES LINK_FLAGS    "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" /SUBSYSTEM:WINDOWS")
iyfamqjs

iyfamqjs3#

如果是控制台应用程序,则需要删除“/SUBSYSTEM:WINDOWS”。
试试这个:

set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS " /MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\" ")
bvpmtnay

bvpmtnay4#

在cmake 3.24.2中,它可以很好地与以下各项配合使用:

target_link_options(<target name> PRIVATE "/MANIFESTUAC:level='requireAdministrator'" PRIVATE "/MANIFESTUAC:uiAccess='false'")

相关问题