error LNK2001: unresolved external symbol "public: int _thiscall CShowJPEGDoc:该怎么解决

error LNK2001: unresolved external symbol "public: int __thiscall CShowJPEGDoc::
头文件如下:
#if !defined(AFX_SHOWJPEGDOC_H__A2FABD8B_F51B_469A_8B92_A6D08DDC1161__INCLUDED_)
#define AFX_SHOWJPEGDOC_H__A2FABD8B_F51B_469A_8B92_A6D08DDC1161__INCLUDED_
#define _AFX_ENABLE_INLINES 

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


class CShowJPEGDoc : public CDocument
{
protected: // create from serialization only
CShowJPEGDoc();
DECLARE_DYNCREATE(CShowJPEGDoc)

// Attributes
public:

// Operations
public:
BITMAPINFOHEADER *dib;
DWORD width;
DWORD height;
DWORD nchannels;
BYTE *buffer;
BOOL flag;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CShowJPEGDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL

// Implementation
public:
BOOL EncodeJPGFileFromDIB(LPCSTR lpszPathName,BITMAPINFOHEADER* bmih);
BOOL DecodeJPGFileToDIB(LPCSTR lpszPathName, BITMAPINFOHEADER** dib);
BOOL DecodeJPGFileToGeneralBuffer(LPCSTR lpszPathName, DWORD* width, DWORD* height, BYTE** buffer, DWORD* nchannels);
virtual ~CShowJPEGDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
//{{AFX_MSG(CShowJPEGDoc)
afx_msg BOOL OnOpenDocument(LPCTSTR lpszPathName);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
CPP文件如下:
#include "stdafx.h"
#include "ShowJPEG.h"

#include "ShowJPEGDoc.h"
#include "ijl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define _AFX_ENABLE_INLINES 
#pragma comment(lib,"ijl15.lib") 
#pragma comment(lib,"odbccp32.lib")
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib, "Ws2_32.lib ") 
/////////////////////////////////////////////////////////////////////////////
// CShowJPEGDoc

IMPLEMENT_DYNCREATE(CShowJPEGDoc, CDocument)

BEGIN_MESSAGE_MAP(CShowJPEGDoc, CDocument)
//{{AFX_MSG_MAP(CShowJPEGDoc)
ON_COMMAND(ID_FILE_OPEN, OnOpenDocument)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CShowJPEGDoc construction/destruction

CShowJPEGDoc::CShowJPEGDoc()
{
// TODO: add one-time construction code here

}

CShowJPEGDoc::~CShowJPEGDoc()
{
}

BOOL CShowJPEGDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;

// TODO: add reinitialization code here
// (SDI documents will reuse this document)

return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CShowJPEGDoc serialization

void CShowJPEGDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}

/////////////////////////////////////////////////////////////////////////////
// CShowJPEGDoc diagnostics

#ifdef _DEBUG
void CShowJPEGDoc::AssertValid() const
{
CDocument::AssertValid();
}

void CShowJPEGDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
#endif // !defined(AFX_SHOWJPEGDOC_H__A2FABD8B_F51B_469A_8B92_A6D08DDC1161__INCLUDED_)