пишу проект на C++, хочу использовать библиотеку dsofile.dll, скачал с сайта
пакет
http://support.microsoft.com/kb/224351, распоковал, взял из
папки C:\DsoFile\Source\Dsofile\ файл dsofile.h,
из папки debug файлы dsofile.lib и dsofile.dll.
В своем прокте указал в свойствах проекта ссылку на dsofile.lib.
Компилруется нормально. Но когда начинаю использовать классы из dsofile.dll
сталкиваюсь с ошибкой.
// FileManView.cpp : implementation file
//
#pragma comment(lib, "./libs/dsofile.lib")
#include "stdafx.h"
#include "File_Manger.h"
#include "FileManView.h"
#include ".\filemanview.h"
#include "dsofile.h"
// CFileManView
IMPLEMENT_DYNCREATE(CFileManView, CFormView)
CFileManView::CFileManView()
: CFormView(CFileManView::IDD)
{
}
CFileManView::~CFileManView()
{
}
void CFileManView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CFileManView, CFormView)
ON_BN_CLICKED(IDC_BTN_OPEN, OnBnClickedBtnOpen)
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
END_MESSAGE_MAP()
// CFileManView diagnostics
#ifdef _DEBUG
void CFileManView::AssertValid() const
{
CFormView::AssertValid();
}
void CFileManView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
// CFileManView message handlers
BOOL CFileManView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
return CFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
void CFileManView::OnBnClickedBtnOpen()
{
}
void CFileManView::OnBnClickedButton1()
{
CString m_strPath;
BSTR m_file;
TCHAR szBuf[80];
LPVOID lpMsgBuf;
DWORD dw;
CDsoDocumentProperties* m_DSOFILE;
CFileDialog dlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,NULL,NULL);
if(dlg.DoModal() == IDOK)
m_strPath = dlg.GetPathName();
else return;
m_file = m_strPath.AllocSysString();
m_DSOFILE = new CDsoDocumentProperties();
m_DSOFILE->Open(m_file,TRUE,dsoOptionOpenReadOnlyIfNoWriteAccess);
}
ошибка:
File_Manager error LNK2019: unresolved external symbol "public: __thiscall
CDsoDocumentProperties::CDsoDocumentProperties(void)" (??0CDsoDocumentProperties@@QAE@XZ)
referenced in function "public: void __thiscall CFileManView::OnBnClickedButton1(void)"
(?OnBnClickedButton1@CFileManView@@QAEXXZ)
появляется ошибка при прописывании строчки
m_DSOFILE = new CDsoDocumentProperties();
без неё не ругается, но без неё никак не работает, нужно инициализировать
Вроде все перечитал и сделал как нужно, просьба помочь, может всетаки упустил что-то
02.09.09 20:42: Перенесено модератором из 'C/C++' — Кодт