ここで初歩的な質問があります。私は C++ の構造と構文に頭を悩ませていますが、ちょっとした壁にぶつかりました。私は自分のコンセプトから何かが欠けていることを知っています。最初に、状況を説明するのに役立つ小さなコードを示します。
Control.h
#pragma once
#ifndef CONTROL_H
#define CONTROL_H
class Control
{
public:
Control();
~Control();
private:
public:
};
#endif /*CONTROL_H*/
コントロール.cpp
#include "Control.h"
#include "Hello.h"
Hello helloObj;
Control::Control()
{
}
Control::~Control()
{
}
int main()
{
int a = helloObj.HelloWorld();
return 0;
}
こんにちは。
#pragma once
#ifndef HELLO_H
#define HELLO_H
class Hello
{
public:
Hello();
~Hello();
private:
public:
int HelloWorld(void);
};
#endif /*HELLO_H*/
こんにちは.cpp
#include "Hello.h"
Hello::Hello()
{
}
Hello::~Hello()
{
}
int HelloWorld()
{
return 5;
}
OSX 10.7でg ++を使用してcontrol.cppをコンパイルしようとすると、
Undefined symbols for architecture x86_64:
"Hello::Hello()", referenced from:
__static_initialization_and_destruction_0(int, int)in cccZHWtd.o
"Hello::~Hello()", referenced from:
___tcf_1 in cccZHWtd.o
"Hello::HelloWorld()", referenced from:
_main in cccZHWtd.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
それはコンパイラ、私のコード、または何が起こっているのかという私の概念ですか? 何かを正しくインスタンス化していませんか?
これをより詳細に説明しているリンクをいただければ幸いです。
最終的には、別のクラスで関数を実行して結果を返すことができるようにしたい...通常のオブジェクト指向、プログラムのモジュール化を維持する....