Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake在用户名为'#';_Cmake - Fatal编程技术网

Cmake在用户名为'#';

Cmake在用户名为'#';,cmake,Cmake,我正在使用一个CMake(版本2.8.12)脚本(CMakeLists.txt),该脚本在以前的计算机上运行(可能现在仍然如此)。问题似乎是我的新计算机上的用户名现在包含了一个。现在,CMake脚本因以下报告而失败: "add_custom_command called with OUTPUT containing a '#'. This character is not allowed." 此行中包含的参数${CMAKE\u CURRENT\u BINARY\u DIR}: add_cust

我正在使用一个CMake(版本2.8.12)脚本(CMakeLists.txt),该脚本在以前的计算机上运行(可能现在仍然如此)。问题似乎是我的新计算机上的用户名现在包含了一个
。现在,CMake脚本因以下报告而失败:

"add_custom_command called with OUTPUT containing a '#'. This character is not allowed."
此行中包含的参数
${CMAKE\u CURRENT\u BINARY\u DIR}

add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/DBSTYPEDEFS.F77 COMMAND ${MKDBSTYPEDEFS_EXE} DEPENDS {MKDBSTYPEDEFS_EXE})
展开以将我的用户名作为完整路径名的一部分


问:有没有办法解决这个问题?

如果您不能简单地更改计算机上的用户名,请尝试将存储库移动到计算机上的其他位置

如果您的主目录中有当前存储库
repo1
,您将得到如下扩展:

add_custom_command(OUTPUT /home/don#robinson/repo1/generated_files/DBSTYPEDEFS.F77 COMMAND ${MKDBSTYPEDEFS_EXE} DEPENDS {MKDBSTYPEDEFS_EXE})
add_custom_command(OUTPUT /usr/local/repo1/generated_files/DBSTYPEDEFS.F77 COMMAND ${MKDBSTYPEDEFS_EXE} DEPENDS {MKDBSTYPEDEFS_EXE})
这导致了你的错误。将代码移动到其他地方,例如
/usr/local/repo1
add\u custom\u命令
中的扩展现在如下所示:

add_custom_command(OUTPUT /home/don#robinson/repo1/generated_files/DBSTYPEDEFS.F77 COMMAND ${MKDBSTYPEDEFS_EXE} DEPENDS {MKDBSTYPEDEFS_EXE})
add_custom_command(OUTPUT /usr/local/repo1/generated_files/DBSTYPEDEFS.F77 COMMAND ${MKDBSTYPEDEFS_EXE} DEPENDS {MKDBSTYPEDEFS_EXE})

这将删除错误。

您可以更改您的用户名吗?或者将源代码移动到主目录之外的某个位置?无法更改用户名(域管理员不允许这样做)。但是,您将代码移动到另一个位置的简单建议是简单且有效的。不好意思,我自己没想到这一点。非常感谢。伟大的为了完整起见,我在答复中提出了我的建议。