今天我下载了jdk 11.0.1,一番配置后,运行简单的程序时时出现了java.lang.UnsupportedClassVersionError
的错误,错误信息如下:
错误信息
1 | ajm@DESKTOP-R8SS06A MINGW64 /d/学习/cs61b |
今天我下载了jdk 11.0.1,一番配置后,运行简单的程序时时出现了java.lang.UnsupportedClassVersionError
的错误,错误信息如下:
1 | ajm@DESKTOP-R8SS06A MINGW64 /d/学习/cs61b |
错误输出
error C2589: “(”: “::”右边的非法标记
error C2059: 语法错误 : “::”
错误代码举例
1 | num_choices = std::max(1, std::min(26, num_choices)); |
函数模板max
注:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。
错误原因
函数模板max与Visual C++中的全局的宏max冲突。
解决办法
第一种办法:设置项目属性,在预定义处理器中添加定义NOMINMAX
来禁止使用Vsual C++的min/max宏定义。
项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 (此处添加预定义编译开关 NOMINMAX)
第二种办法: 加上括号,与Vsual C++的min/max宏定义区分开
1 | num_choices = (std::max)(1, std::min(26, num_choices)); |
cmake中的windows 路径如果有空格,比如D:/Program Files/libigl
, 需要改成D:/Program\ Files/libigl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19find_path(LIBIGL_INCLUDE_DIR igl/readOBJ.h
HINTS
ENV LIBIGL
ENV LIBIGLROOT
ENV LIBIGL_ROOT
ENV LIBIGL_DIR
PATHS
${CMAKE_SOURCE_DIR}/../..
${CMAKE_SOURCE_DIR}/..
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/libigl
${CMAKE_SOURCE_DIR}/../libigl
${CMAKE_SOURCE_DIR}/../../libigl
D:/Program\ Files/libigl
/usr
/usr/local
/usr/local/igl/libigl
PATH_SUFFIXES include
)
实验室当前hadoop集群节点如下:
主机名 | 用户名 | IP | 集群中的角色 |
---|---|---|---|
master | hadoop | 10.13.61.122 | NameNode、JobTracker |
slave1 | hadoop | 10.13.61.125 | DataNode、TaskTracker |
slave2 | hadoop | 10.13.61.132 | DataNode、TaskTracker |
slave3 | hadoop | 10.13.61.146 | DataNode、TaskTracker |
slave4 | hadoop | 10.13.61.144 | DataNode、TaskTracker |
slave5 | hadoop | 10.13.61.143 | DataNode、TaskTracker |
slave6 | hadoop | 10.13.61.147 | DataNode、TaskTracker |
ajm-zju | hadoop | 10.13.61.129 | DataNode、TaskTracker |
各个节点的用户名均设置为 hadoop,密码均为 123456。其中slave3,slave4目前一般不使用。
hadoop集群安装主要有以下几个步骤: