我有:
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 笔记本电脑。