我很难理解运行程序时幕后发生的事情。
在我的学校服务器上,每次我需要制作 makefile 时,我只使用 gcc 和几乎相同的代码。
我下载了我的程序以在 NetBeans 中调试它,并在数小时/数天后.. 我终于几乎让一切正常。
在查看了此处和其他站点上的一些帖子后,我发现由于某种原因我需要使用 g++ 而不是 gcc 来编译,因为我使用的是 MacBook。我不太明白。但是如果我将 gcc 更改为 g++ 并在我的 makefile 中运行这一行:
编辑:
g++ -c $< -o $@ -std=c++0x -lstdc++
我得到一个错误。但是,如果我删除“-std=c++0x”并再次运行 make.. 一切都很好。
但是如果我运行我的“make clean”,我必须再做一次..
当我将程序放回学校服务器时,这会搞砸一切吗?或者只要我在服务器上有一个与我的 MacBook 上的 makefile 不同的 makefile 就可以了吗?
有人可以帮助排除为什么会发生这种情况以及我如何解决它吗?
这是我第一次运行make时的makefile:
OBJECTS = Ammunition.o Armor.o Consumable.o
HEADERS = Ammunition.h Armor.h Consumable.h
all: Jhack
%.o: %.cpp $(HEADERS)
g++ -c $< -o $@ -std=c++0x
Jhack: $(OBJECTS) main.o
g++ -o Jhack $^
clean:
rm -f *.o Jhack
run: Jhack
./Jhack
谢谢。