C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 119 を表示中)
■69611 / )  LNK2019エラー
□投稿者/ OROCHI (6回)-(2014/01/13(Mon) 12:56:24)

分類:[C/C++] 

こんにちは。現在以下のようなコードを書いています

#include "stdafx.h"
#include <vector>
#include <list>
#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <iterator>
#include "etime.h"
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
int i,m = 100, n = 1000;
list<int> l,ll;
vector<int> v(n);
CETime e;
for(i=0; i<n; ++i) v[i] = i;
random_shuffle(v.begin(),v.end());
copy(v.begin(),v.end(),back_inserter(ll));
e.Reset();
for(i=0; i<m; ++i)
{
l = ll;
l.sort();
}
cout << e.Sec() << endl;
e.Reset();
for(i=0; i<m; ++i)
{
copy(ll.begin(),ll.end(),v.begin());
sort(v.begin(),v.end());
}
cout << e.Sec() << endl;
system("PAUSE");
return 0;
}

(etime.h)
#include <sys/types.h>

class CETime
{
time_t m_time;
unsigned short m_millitm;
public:
inline void Reset();
inline double Sec()const;
CETime(){Reset();}
};

(etime.cpp)
#include "stdafx.h"
#include "etime.h"
#include <sys/timeb.h>

void CETime::Reset()
{
timeb tb;
ftime(&tb);
m_time = tb.time;
m_millitm = tb.millitm;
}

double CETime::Sec()const
{
timeb tb;
ftime(&tb);
return double(tb.time - m_time) + 0.001*(tb.millitm - m_millitm);
}

これを実行すると
エラー 2 error LNK2019: 未解決の外部シンボル "public: void __thiscall CETime::Reset(void)" (?Reset@CETime@@QAEXXZ) が関数 _wmain で参照されました。
エラー 1 error LNK2019: 未解決の外部シンボル "public: double __thiscall CETime::Sec(void)const " (?Sec@CETime@@QBENXZ) が関数 _wmain で参照されました。
というエラーが出て実行不能になります。よくある外部リンクエラーらしいのでスペルミス、実態未定義、パブリックメンバーではないので参照不可も疑ってみたのですが、いずれも特に問題がないようでした

実行環境はWindows 7 64bit、Visual C++ 2010です

原因わかる型いらっしゃいますでしょうか?
返信 編集キー/


管理者用

- Child Tree -