自分のライブラリを自分のプロジェクトにリンクしようとすると、次のエラーが表示されます。
.\main.cpp(10) : warning C4091: 'extern ' : ignored on left of 'Hamster' when no variable is declared
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall Hamster::SetHealth(int)" (?SetHealth@Hamster@@QAEXH@Z)
どうすればいいのか全くわかりません。私はネットで解決策を探していましたが、結果はありませんでした。
(Visual Studio C++、MS Windows XP を使用してコンパイル)
静的ライブラリのソース:
struct Hamster
{
public:
int Health;
void SetHealth(int newHealth)
{
if(newHealth <= 100 && newHealth > 0)
this->Health = newHealth;
}
};
コンソール プログラムのソース
#include <iostream>
using namespace std;
#pragma comment(lib, "../Release/mylib.lib")
extern struct Hamster
{
public:
int Health;
void SetHealth(int newHealth);
};
void main()
{
Hamster White;
White.SetHealth(100);
cout << White.Health << endl;
}
見て、何が間違っているのか説明していただけますか?前もって感謝します。