1

我有:
fileMainProgram.cpp
fileClassImplementation.cpp
fileClass.h
makefile

在一个目录中。
运行 cmd 并输入

              g++ -make -f makefile

修改了一段时间后收到此消息(更改文件名/扩展名,尝试不使用 -f,使用 gcc 而不是 g++ 等)


C:\miscprograms\Dropbox\box\Dropbox\c++\etextbook\e12\progec12\pe1c12romanNumeral>g++ -make -f makefile

c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe:makefile.tx t:文件格式无法识别;视为链接器脚本 c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe:makefile.tx t:1 : 语法错误 collect2: ld 返回 1 退出状态


这是makefile,(尝试删除目标和操作之间的行,尝试使用自动变量等,

我试图将程序编译为

                                      g++ -c fileClassImplementation.cpp

                           then

                                      g++ fileClassImplementation.o fileMain.cpp

得到一个可执行文件,它工作正常。


 all: a

 a: romanNumeralMain.o romanNumeralImp.o
 [1 tab]g++ romanNumeralMain.o romanNumeralImp.o -o a

 romanNumeralMain.o: romanNumeralMain.cpp 
        g++ -c romanNumeralMain.cpp

 romanNumeralImp.o: romanNumeralImp.cpp
        g++ -c romanNumeralImp.cpp

 clean:
        rm romanNumeralImp.o romanNumeralMain.o a

为我的三星手机在 C4droid 上运行了整个过程,并且运行良好。
不适用于我的 Windows7 笔记本电脑。

4

1 回答 1

0

您似乎拥有的是一个 GNU Makefile,适合运行GNU Make。Windows 不附带 GNU Make,因此您需要自己下载。

看来你已经下载了 MingW,尝试运行mingw32-make命令来执行你的 makefile。

于 2013-03-28T06:21:10.260 回答