Xcodeを使用してC++を学習していますが、ヘッダーファイルのクラスを初期化しようとするとリンカーエラーが発生します。ここで私は、私が「取得するために使用するのでXcodeのはmain.hを読んで知っているmain.cpp:
C++、Xcode、ヘッダーファイルのリンカーエラー
#include <iostream>
#include <fstream>
#include "main.h"
using namespace std;
int main() {
Rectangle rect(4, 5);
cout << rect.area() << endl;
return 0;
}
とmain.h
...
#ifndef main_h
#define main_h
using namespace std;
class Rectangle {
int width,height;
public:
Rectangle(int,int);
int area() {return width*height;}
};
Rectangle::Rectangle (int x, int y) { width=x; height=y; }
#endif /* main_h */
..andリンカエラー
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ですファイルが見つかりません "というエラー(ほかにもたくさんのもの)がありますが、私はそのすべてを修正し、もはやそれらのエラーを取得しません。私が理解しているところでは、Xcodeは何らかの理由でこれらの2つのファイルからマシンコードを構築することができません。なぜなら、すべてのコードを1つのファイルにコピー/ペーストすれば動作するからです。
これは既にその場所にあります。これは正確に何ですか? - >%clang ++ main.cpp %./a.out –
ああ、それはターミナルで走った方法です。申し訳ありません、私はそれがXcodeのためだと思っていました。これは私のXcodeが動作しない理由は非常に奇妙です –
うわあ、私はそれが働くようになった。私がプロジェクトに持っていた他のファイルは、たとえmain.cppで参照されていなくても何らかの形でエラーを引き起こしていました。ありがとう! –