开发者

CMake RequireAdministrator

开发者 https://www.devze.com 2022-12-09 18:56 出处:网络
I\'m trying to set the RequireAdministrator ma开发者_如何转开发nifest flag on an executable I\'m building with CMake and Visual Studio.

I'm trying to set the RequireAdministrator ma开发者_如何转开发nifest flag on an executable I'm building with CMake and Visual Studio.

Any ideas on how to direct CMake to set that option?

Thanks!

Billy3


I appreciate that the question is tagged visual-studio-2008, but for VS2010 this produces the following error message:

error MSB4030: "level='requireAdministrator' uiAccess='false'" is an invalid value for the "UACUIAccess" parameter of the "Link" task. The "UACUIAccess" parameter is of type "System.Boolean".

An equivalent CMake command (disregarding the /SUBSYSTEM:WINDOWS portion) for VS2010 is

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


try this:

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


If it is a console app, you need to remove the "/SUBSYSTEM:WINDOWS".

try this:

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


With cmake 3.24.2 it works well with:

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

精彩评论

暂无评论...
验证码 换一张
取 消