我有一个CMakeLists.txt
,要求某些输入文件具有写入权限,否则make进程将失败并显示相当模糊的“Permission denied Error 126”消息。 The page here describes the usage,关键点是:
为了使这个cfg文件可用,它必须是可执行的,所以让我们使用以下命令使其可执行
chmod a+x cfg/Tutorials.cfg
接下来,我们需要将以下行添加到CMakeLists.txt中。对于Groovy及以上版本
generate_dynamic_reconfigure_options( cfg/Tutorials.cfg #... )
add_dependencies(example_node ${PROJECT_NAME}_gencfg)
如果我忘记在chmod
上运行cfg/Tutorials.cfg
,那么我怎么能改变上面的片段以便做一些合理的事情因此它不可执行?
如关键点所述,您必须通过chmod 0555使文件可执行,但在执行此操作时必须小心。通过chmod 0555,即使是除root之外的文件的所有者也被拒绝写入权限。我建议使用0775或其他更好的东西,因为它授予读写权限。