対応するヘッダーファイルを含む非常に単純な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’`
私は長い間検索しましたが、何が起こっているのか理解できません。GCC4.2.1を使用しています。