javac中的Makefile编译问题
我对makefile有问题。我有三节课。他们做的事情很简单。一个对减法进行加法运算,最后一个将实例化这两个运算,并简单地打印结果的加法和减法运算 现在,当我创建makefile时,我编译Plus.java和Minus.java,但不知道如何编译主类,因为它依赖于前两个类。如果可能的话,我想从makefile编译并运行它 当我尝试运行make时,我得到了上述结果:javac中的Makefile编译问题,java,makefile,compilation,Java,Makefile,Compilation,我对makefile有问题。我有三节课。他们做的事情很简单。一个对减法进行加法运算,最后一个将实例化这两个运算,并简单地打印结果的加法和减法运算 现在,当我创建makefile时,我编译Plus.java和Minus.java,但不知道如何编译主类,因为它依赖于前两个类。如果可能的话,我想从makefile编译并运行它 当我尝试运行make时,我得到了上述结果: javac -g Plus.class Minus.class javac: invalid flag: Plus.class Usa
javac -g Plus.class Minus.class
javac: invalid flag: Plus.class
Usage: javac <options> <source files>
use -help for a list of possible options
make: *** [Operation.class] Error 2
您需要运行javac-g Plus.java Minus.java(非.class)您需要运行javac-g Plus.java Minus.java(非.class)您需要将源文件的名称传递给javac:
javac -g Plus.java
更好的选择可能是:
javac -g *.java
Java世界中很少有人直接调用javac或使用makefiles。大多数人在开发时使用IDE:
日食:Netbeans: 然后是用于最终/自动构建的更全面的构建工具: 蚂蚁:
马文: 这两者都可以从make调用,或者实际上调用make本身,以便与现有构建系统集成 编辑: 似乎您有一个makefile问题。看看这是否有效:
JCC = javac
JCR = java
JFLAGS = -g
all:
[TAB]$(JCC) $(JFLAGS) *.java
run:
[TAB]$(JCR) Operation
clean:
[TAB]$(RM) *.class
将[TAB]替换为实际的TAB字符-您可能知道这在make中非常重要 您需要将源文件的名称传递给javac:
javac -g Plus.java
更好的选择可能是:
javac -g *.java
Java世界中很少有人直接调用javac或使用makefiles。大多数人在开发时使用IDE:
日食:Netbeans: 然后是用于最终/自动构建的更全面的构建工具: 蚂蚁:
马文: 这两者都可以从make调用,或者实际上调用make本身,以便与现有构建系统集成 编辑: 似乎您有一个makefile问题。看看这是否有效:
JCC = javac
JCR = java
JFLAGS = -g
all:
[TAB]$(JCC) $(JFLAGS) *.java
run:
[TAB]$(JCR) Operation
clean:
[TAB]$(RM) *.class
将[TAB]替换为实际的TAB字符-您可能知道这在make中非常重要 试试这个。唉,管理java类依赖是一个痛苦的使用(在那里做了比较大的项目),所以你仍然应该认真考虑使用蚂蚁或其他适当的工具。
JCC = javac
JCR = java
JFLAGS = -g
default: Operation.class
Plus.class: Plus.java
$(JCC) $(JFLAGS) Plus.java
Minus.class: Minus.java
$(JCC) $(JFLAGS) Minus.java
Operation.class: Operation.java Plus.class Minus.class
$(JCC) $(JFLAGS) Operation.java
run: Operation.class
$(JCR) Operation.class
clean: $(RM) *.class
试试这个。唉,管理java类依赖是一个痛苦的使用(在那里做了比较大的项目),所以你仍然应该认真考虑使用蚂蚁或其他适当的工具。
JCC = javac
JCR = java
JFLAGS = -g
default: Operation.class
Plus.class: Plus.java
$(JCC) $(JFLAGS) Plus.java
Minus.class: Minus.java
$(JCC) $(JFLAGS) Minus.java
Operation.class: Operation.java Plus.class Minus.class
$(JCC) $(JFLAGS) Operation.java
run: Operation.class
$(JCR) Operation.class
clean: $(RM) *.class
我解决了。这是包裹的问题。我在netbeans中编辑了我的文件,并保持: 一揽子业务 给他们每个人 所以我得到了要编译的操作,但现在它没有运行 愚蠢的问题
JCC = javac
JCR = java
JFLAGS = -g
default: Operation.class Plus.class Minus.class
Plus.class: Plus.java
$(JCC) $(JFLAGS) Plus.java
Minus.class: Minus.java
$(JCC) $(JFLAGS) Minus.java
Operation.class: Operation.java Plus.java Minus.java
$(JCC) $(JFLAGS) Operation.java Plus.java Minus.java
run:
$(JCR) Operation
clean:
$(RM) *.class
我解决了。这是包裹的问题。我在netbeans中编辑了我的文件,并保持: 一揽子业务 给他们每个人 所以我得到了要编译的操作,但现在它没有运行 愚蠢的问题
JCC = javac
JCR = java
JFLAGS = -g
default: Operation.class Plus.class Minus.class
Plus.class: Plus.java
$(JCC) $(JFLAGS) Plus.java
Minus.class: Minus.java
$(JCC) $(JFLAGS) Minus.java
Operation.class: Operation.java Plus.java Minus.java
$(JCC) $(JFLAGS) Operation.java Plus.java Minus.java
run:
$(JCR) Operation
clean:
$(RM) *.class
不要使用makefile for java。使用Ant或Maven。我想使用MaFrimes文件,因为我还必须使用java和C++文件。我知道MaFrimes,但不知道java。我不知道这个makefile是如何工作的,也不知道它是如何给出这个错误的。您只是在运行
make
,还是给它一个目标,比如makepluss.class
?不要将makefile用于java。使用Ant或Maven。我想使用MaFrimes文件,因为我还必须使用java和C++文件。我知道MaFrimes,但不知道java。我不知道这个makefile是如何工作的,也不知道它是如何给出这个错误的。你只是在运行make
,还是给它一个目标,比如makepluss.class
?我想我不明白。我向您展示了我的makefile,也许我可以这样找到:JCC=javacjcr=java JFLAGS=-g默认值:Operation.class Plus.class:Plus.java$(JCC)$(JFLAGS)Plus.java减号.class:Plus.java$(JCC)$(JFLAGS)减.java操作.class:Operation.class$(JCC)$(JFLAGS)操作.class运行:Operation.class$(JCR)Operation.class clean:$(RM)*.classI我想我不明白。我向您展示了我的makefile,也许我可以这样找到:JCC=javacjcr=java JFLAGS=-g默认值:Operation.class Plus.class:Plus.java$(JCC)$(JFLAGS)Plus.java减号.class:Plus.java$(JCC)$(JFLAGS)减.java操作.class:Operation.class$(JCC)$(JFLAGS)操作.class运行:Operation.class$(JCR)Operation.class clean:$(RM)*.class就是这样。我目前正在做一个项目,我确实要给我们这些东西,而不是IDE的。谢谢你,但标签在那里。它只是没有出现在ant
的post+1中,尽管使用make
这种方式很有启发性。这就是问题所在。我目前正在做一个项目,我确实要给我们这些东西,而不是IDE的。谢谢你,但标签在那里。它只是没有出现在ant
的post+1中,尽管以这种方式使用make
会很有帮助。请尝试使用101
按钮将Makefile
格式化为代码。尝试使用101
按钮将Makefile
格式化为代码。