log4cplus的RollingFileAppender设为多文件失败的原因

原因:程序运行的权限不够。
底层执行_wrename失败,_errno返回错误码是13(Permission denied)。
解决办法是以管理员权限启动。

类似的文件丢失、更名失败、文件访问失败都有可能是权限问题。

在vs、工程属性、连接linker里面有一个Manifest File项中,修改UAC Execution Level(UAC执行级别):为requireAdministrator (/level=‘requireAdministrator’)。
qt pro文件中可以如下:

win32{
 QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
 QMAKE_LFLAGS += /SUBSYSTEM:WINDOWS,\"5.01\"
}

exe也可以右键属性里面设置为默认管理员权限启动:属性,兼容性,更改所有用户的设置,以管理员身份运行此程序。

你可能感兴趣的:(windows,cpp,log4cplus)