我正在一个集群上安装apachehadoop,实际上是在我的笔记本电脑上。我已经按照这里的手册做了所有的安装,但是,我在安装时遇到了错误。一个解决方案是使用vs手动编译它,我已经做到了。但是在构建代码的过程中,我遇到了以下错误
# define WIDEN_STRING(x) WIDEN_STRING_(x)
# define WIDEN_STRING_(x) L ## x
# define STRINGIFY(x) STRINGIFY_(x)
# define STRINGIFY_(x) #x
# pragma message("WSCE config is " STRINGIFY(WSCE_CONFIG_DIR) "\\" STRINGIFY(WSCE_CONFIG_FILE))
const WCHAR* wsceConfigRelativePath = WIDEN_STRING(STRINGIFY(WSCE_CONFIG_DIR)) L"\\" WIDEN_STRING(STRINGIFY(WSCE_CONFIG_FILE));
在文件中 HADOOP_SRC_FOLDER\hadoop-common-project\hadoop-common\src\main\winutils\libwinutils.c
.
但是,我的问题是这行代码有什么问题?尽管按照c++的标准,它似乎是无效的。我完全搞不懂这行代码。
1条答案
按热度按时间hujrc8aj1#
在hadoop2.6中,这是通过maven处理的。这些值在hadoop common project/hadoop common/pom.xml文件中定义为属性,如下所示:
稍后在调用msbuild时使用
<argument>/p:WsceConfigDir=${wsce.config.dir}</argument> <argument>/p:WsceConfigFile=${wsce.config.file}</argument>
libwinutils.vxcproj,然后定义wsce\u config\u dir和wsce\u config\u文件,如下所示: