Error Combine DCMTK with Visual Studio 2008

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
buiductoan
Posts: 24
Joined: Thu, 2013-01-10, 16:40

Error Combine DCMTK with Visual Studio 2008

#1 Post by buiductoan »

I am using DCMTK library version 3.6.1 to make application to read dicom file. This is simple code:

Code: Select all

// TestLibrary.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
  DcmFileFormat fileformat;
  const DcmTagKey DCM_PatientsName;
  OFCondition status = fileformat.loadFile("test.dcm");
  if (status.good())
  {
    OFString patientsName;
    if (fileformat.getDataset()->findAndGetOFString(DCM_PatientsName, patientsName).good())
    {
      cout << "Patient's Name: " << patientsName << endl;
    } else
      cerr << "Error: cannot access Patient's Name!" << endl;
  } else
    cout << "Error: cannot read DICOM file (" << status.text() << ")" << endl;
  return 0;
	return 0;
}


I build dcmdata successfully and in the Visual studio configure, I have chosen linker file, include folder (C/Program File/DCMTK...) and lib dcmdata.lib netapi32.lib wsock32.lib ws2_32.lib. And I run it, but I have some errors dcmdata.lib and msvcprtd.lib. Can you help me to resolve it?. In the Property>C/C++/Runtim Library is Multi-threeaded Debug (/MTd)

Code: Select all

>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Linking...
1>dcmdata.lib(vrscan.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcbytstr.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z) referenced in function "void __cdecl normalizeString(class OFString &,bool,bool,bool,char)" (?normalizeString@@YAXAAVOFString@@_N11D@Z)
1>dcmdata.lib(dcchrstr.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcpixseq.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcspchrs.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcpxitem.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcdirrec.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcdict.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
1>dcmdata.lib(dcvrui.obj) : error LNK2001: unresolved external symbol "public: bool __thiscall dcmtk::log4cplus::Logger::isEnabledFor(int)const " (?isEnabledFor@Logger@log4cplus@dcmtk@@QBE_NH@Z)
....
1>TestLibrary - 43 error(s), 0 warning(s)

Uli Schlachter
DCMTK Developer
Posts: 120
Joined: Thu, 2009-11-26, 08:15

Re: Error Combine DCMTK with Visual Studio 2008

#2 Post by Uli Schlachter »

You also need oflog and ofstd, because dcmdata uses these libraries.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest