私は複数のファイルとヘッダーファイルなどを使って練習しています。だから私は2つの数字を取り、それからそれらを追加するこのプロジェクトを持っています。ものすごく単純。
これが私のファイルです:
main.cpp
#include <iostream>
#include "add.h"
int main()
{
int x = readNumber();
int y = readNumber();
writeAnswer(x + y);
return(0);
}
io.cpp
int readNumber()
{
int x;
std::cout << "Number: ";
std::cin >> x;
return x;
}
void writeAnswer(int x)
{
std::cout << "Answer: ";
std::cout << x;
}
add.h
#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED
int readNumber();
void writeAnswer(int x);
#endif // #ifndef ADD_H_INCLUDED
エラーはio.cppに表示されています。正確なエラーは次のとおりです。
なぜこれが起こっているのか、誰かに何か考えがありますか?ありがとう。
編集:昨日同じ量のファイル(2 .cppと1.h)で小さなプロジェクトを作成しましたが、他の.cppにiostreamヘッダーを含めずにコンパイルしましたそしてうまくいった
#include <iostream>
の先頭にもio.cpp
を追加してください。
それがなければならないことも覚えておいてください:
#include "stdafx.h"
#include <iostream>
そしてその逆ではない
#include <iostream>
#include "stdafx.h"
私は同様の問題を抱えていた、それは私がファイルを含めるためにcmake
に追加のエントリを追加しなければならなかったことが判明した。
私はzmqライブラリも使っていたので、これも含まれているライブラリに追加しなければなりませんでした。