我有一个非常简单的 C++ 文件Multiplier.cpp
和相应的头文件,我使用以下命令从中创建了一个库
$ g++ -o Multiplier.o -c Multiplier.cpp
$ ar cr libMultiplier.a Multiplier.o
在一个新目录中,我创建了一个使用该类的Calculator.cpp
(带有相应的头文件) 。Multiplier
头文件Calculator.h
有对应的`#include "Multiplier.h"
头文件Calculator.h
有对应的#include "Multiplier.h"
我将创建的库复制到此目录中,并尝试Calculator.cpp
使用以下命令进行编译:
$ g++ -o Calculator Calculator.cpp -L. -lMultiplier
这给了我这些错误:
In file included from Calculator.cpp:1:
Calculator.h:1:24: error: Multiplier.h: No such file or directory
In file included from Calculator.cpp:1:
Calculator.h:6: error: ISO C++ forbids declaration of ‘Multiplier’ with no type
Calculator.h:6: error: expected ‘;’ before ‘&’ token
Calculator.h:8: error: expected `)' before ‘&’ token
Calculator.cpp:5: error: redefinition of ‘class something::Calculator’
Calculator.h:5: error: previous definition of ‘class something::Calculator’`
我已经搜索了很长时间,但无法弄清楚发生了什么。我正在使用 GCC 4.2.1。