我的代码充满了
之类的警告'glTranslatef'已被弃用:首先在macOS 10.14中弃用-OpenGL 已弃用API。 (定义GL_SILENCE_DEPRECATION可以使这些静音 警告)
我做了public class Main {
int totalNodes = 0;
public Main() throws Exception {
String file = getClass().getResource("/test.xml").getFile();
File fXmlFile = new File(file);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
countNodes(doc.getDocumentElement());
System.out.println(totalNodes);
}
public void countNodes(Node node) {
System.out.println(node.getNodeName());
totalNodes++;
NodeList nodeList = node.getChildNodes();
for (int i = 0; i < nodeList.getLength(); i++) {
Node currentNode = nodeList.item(i);
if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
countNodes(currentNode);
}
}
}
public static void main(String[] args) throws Exception {
new Main();
}
}
,但不能解决问题。
我使用通过function calcLineCoords(line) {
const {
tl, tr, bl, br,
} = line.calcCoords();
let coordsStart;
let coordsEnd;
if (line.x1 > line.x2) {
if (line.y1 > line.y2) {
coordsStart = br;
coordsEnd = tl;
} else {
coordsStart = tr;
coordsEnd = bl;
}
} else {
// eslint-disable-next-line no-lonely-if
if (line.y1 > line.y2) {
coordsStart = bl;
coordsEnd = tr;
} else {
coordsStart = tl;
coordsEnd = br;
}
}
return [coordsStart, coordsEnd];
}
// Usage:
// const [coordsStart, coordsEnd] = calcLineCoords(line);
#define GL_SILENCE_DEPRECATION
我可以以某种方式使其静音吗?
答案 0 :(得分:0)
您应该将#define GL_SILENCE_DEPRECATION
放在OpenGL之前,这样您可以执行以下操作:
#ifdef __APPLE__
/* Defined before OpenGL and GLUT includes to avoid deprecation messages */
#define GL_SILENCE_DEPRECATION
#include <OpenGL/gl.h>
#include <GLUT/glut.h>
#else
#include <GL/gl.h>
#include <GL/glut.h>
#endif
解决此问题的另一种方法是在编译阶段将选项-Wno-deprecated-declarations
传递给编译器。