![Crying or Very sad :cry:](./images/smilies/icon_cry.gif)
Hello all. I'm trying to build the following program in VS2005;
Code: Select all
// writeDCMfile1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "dcmtk/dcmdata/dctk.h"
#include "dcmtk/dcmdata/dcvrobow.h"
int _tmain(int argc, _TCHAR* argv[])
{
string FILE_NAME = "C:\\Fuji S3\\Convert Program\\Images_5-25-05\\dogLeg2.bmp";
char uid[10] = {'J'};
Uint8 dataArray[1000];
DcmFileFormat fileformat;
DcmDataset *dataset = fileformat.getDataset();
dataset->putAndInsertString(DCM_SOPClassUID, UID_SecondaryCaptureImageStorage);
dataset->putAndInsertString(DCM_SOPInstanceUID, dcmGenerateUniqueIdentifier(uid, SITE_INSTANCE_UID_ROOT));
dataset->putAndInsertString(DCM_PatientsName, "Doe^John");
/* ... */
/*dataset->putAndInsertUint8Array(DCM_PixelData, dataArray, 1000); */
dataset->putAndInsertUint8Array(DCM_PixelData, NULL, 0);
OFCondition status = fileformat.saveFile("test.dcm", EXS_LittleEndianExplicit);
if (status.bad())
cerr << "Error: cannot write DICOM file (" << status.text() << ")" << endl;
return 0;
}
>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall DcmFileFormat::~DcmFileFormat(void)" (??1DcmFileFormat@@UAE@XZ) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: virtual class OFCondition __thiscall DcmFileFormat::saveFile(char const *,enum E_TransferSyntax,enum E_EncodingType,enum E_GrpLenEncoding,enum E_PaddingEncoding,unsigned long,unsigned long,bool)" (?saveFile@DcmFileFormat@@UAE?AVOFCondition@@PBDW4E_TransferSyntax@@W4E_EncodingType@@W4E_GrpLenEncoding@@W4E_PaddingEncoding@@KK_N@Z) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: class OFCondition __thiscall DcmItem::putAndInsertUint8Array(class DcmTag const &,unsigned char const *,unsigned long,bool)" (?putAndInsertUint8Array@DcmItem@@QAE?AVOFCondition@@ABVDcmTag@@PBEK_N@Z) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "char * __cdecl dcmGenerateUniqueIdentifier(char *,char const *)" (?dcmGenerateUniqueIdentifier@@YAPADPADPBD@Z) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: __thiscall DcmTag::~DcmTag(void)" (??1DcmTag@@QAE@XZ) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: class OFCondition __thiscall DcmItem::putAndInsertString(class DcmTag const &,char const *,bool)" (?putAndInsertString@DcmItem@@QAE?AVOFCondition@@ABVDcmTag@@PBD_N@Z) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: __thiscall DcmTag::DcmTag(class DcmTagKey const &)" (??0DcmTag@@QAE@ABVDcmTagKey@@@Z) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: class DcmDataset * __thiscall DcmFileFormat::getDataset(void)" (?getDataset@DcmFileFormat@@QAEPAVDcmDataset@@XZ) referenced in function _wmain
1>writeDCMfile1.obj : error LNK2019: unresolved external symbol "public: __thiscall DcmFileFormat::DcmFileFormat(void)" (??0DcmFileFormat@@QAE@XZ) referenced in function _wmain
1>C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug\writeDCMfile1.exe : fatal error LNK1120: 9 unresolved externals
I'm using VS2005. I've tried using /MTd and /MDd both. My solution folder is in the "C:\DCMTK\dcmtk-3.5.4" folder, for good measure. My "Additional Libraries Directory" entry is
..\$(OutDir),..\,..\..\ofstd\$(OutDir),..\..\ofstd\,..\..\dcmdata\$(OutDir),..\..\dcmdata\,..\..\dcmimgle\$(OutDir),..\..\dcmimgle\,..\..\ofstd\libsrc\$(OutDir),..\..\ofstd\libsrc\,..\..\dcmdata\libsrc\$(OutDir),..\..\dcmdata\libsrc\,..\..\dcmimgle\libsrc\$(OutDir),..\..\dcmimgle\libsrc\,..\libsrc\$(OutDir),..\libsrc\
i.e., copied from one of the apps projects in DCMTK. Here is the C++ command line
/Od /I "..\..\config\include" /I "..\include" /I "..\..\ofstd\include" /I "..\..\dcmdata\include" /I "..\..\dcmimgle\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MTd /Yc"stdafx.h" /Fp"Debug\writeDCMfile1.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /nologo /c /Wp64 /Zi /TP /errorReport:prompt
and here is the linking command line
/OUT:"C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug\writeDCMfile1.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"..\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\\" /LIBPATH:"..\..\ofstd\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\..\ofstd\\" /LIBPATH:"..\..\dcmdata\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\..\dcmdata\\" /LIBPATH:"..\..\dcmimgle\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\..\dcmimgle\\" /LIBPATH:"..\..\ofstd\libsrc\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\..\ofstd\libsrc\\" /LIBPATH:"..\..\dcmdata\libsrc\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\..\dcmdata\libsrc\\" /LIBPATH:"..\..\dcmimgle\libsrc\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\..\dcmimgle\libsrc\\" /LIBPATH:"..\libsrc\C:\DCMTK\dcmtk-3.5.4\writeDCMfile1\Debug" /LIBPATH:"..\libsrc\\" /MANIFEST /MANIFESTFILE:"Debug\writeDCMfile1.exe.intermediate.manifest" /DEBUG /ASSEMBLYDEBUG /PDB:"c:\DCMTK\dcmtk-3.5.4\writeDCMfile1\debug\writeDCMfile1.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT netapi32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Any help would be GREATLY appreciated.
John