我不知道如何解决项目构建时出现的错误。对于处理这个问题有什么建议吗?语言是Java。
make[1]: *** No rule to make target `org/zeromq/ZMQ$Context.class', needed by `all'. Stop.
根据以下建议,从 make -d
获得了此输出:
Considering target file `org/zeromq/ZMQ$Context.class'.
File `org/zeromq/ZMQ$Context.class' does not exist.
Looking for an implicit rule for `org/zeromq/ZMQ$Context.class'.
Trying pattern rule with stem `ZMQ$Context.class'.
Trying implicit prerequisite `org/zeromq/ZMQ$Context.class.cpp'.
Trying pattern rule with stem `ZMQ$Context.class'.
Trying implicit prerequisite `org/zeromq/ZMQ$Context.class.o'.
Trying pattern rule with stem `ZMQ$Context.class'.
Trying implicit prerequisite `org/zeromq/ZMQ$Context.class,v'.
...
Must remake target `org/zeromq/ZMQ$Context.class'.
make[1]: *** No rule to make target `org/zeromq/ZMQ$Context.class', needed by `all'. Stop.
因此,看起来 make 不够智能,无法在 ZMQ.java
中查找 ZMQ$Context.class
的定义。这是我的 make
版本的问题还是库所有者提供给我的 makefile 的问题?
最佳答案
当然是一个简短的问题。答案可能是man make
。
您会发现用于通用调试的-d
选项使详细程度甚至--debug=FLAG
将输出减少到不太详细的调试级别。
在您的具体情况下,Make尝试找到生成org/zeromq/ZMQ$Context.class
所需的源文件,并且Makefile规则可能不够聪明,无法猜测它必须是从org/zeromq/ZMQ.java
。
关于java - 在 Java 中调试 makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710906/