[Insight-users] (update) how to create ITK dll with visual c++
6.0?
Luis Ibanez
luis.ibanez at kitware.com
Mon May 1 07:01:18 EDT 2006
Hi Haris
Please post the CMakeLists.txt file that you wrote for this project.
Thanks
Luis
====================
Haris Saybasili wrote:
> Hi,
>
> I tried cmake, it created the project. However, Visual C++ couldn't
> compile it. I had 44 errors, all of which was unresolved references. I
> added additional lib and include libraries to the project, but no luck.
> I exported the makefile, and edited it. I get the same error as always:
>
> .................
> Searching C:\ITK\bin\bin\Debug\itksys.lib:
> Searching C:\MSVStudio6\VC98\lib\kernel32.lib:
> Searching C:\MSVStudio6\VC98\lib\user32.lib:
> Searching C:\MSVStudio6\VC98\lib\gdi32.lib:
> Searching C:\MSVStudio6\VC98\lib\winspool.lib:
> Searching C:\MSVStudio6\VC98\lib\comdlg32.lib:
> Searching C:\MSVStudio6\VC98\lib\advapi32.lib:
> Searching C:\MSVStudio6\VC98\lib\shell32.lib:
> Searching C:\MSVStudio6\VC98\lib\ole32.lib:
> Searching C:\MSVStudio6\VC98\lib\oleaut32.lib:
> Searching C:\MSVStudio6\VC98\lib\uuid.lib:
> Searching C:\MSVStudio6\VC98\lib\odbc32.lib:
> Searching C:\MSVStudio6\VC98\lib\odbccp32.lib:
> Searching C:\MSVStudio6\VC98\lib\msvcrtd.lib:
> Searching C:\ITK\bin\bin\Debug\ITKAlgorithms.lib:
> Searching C:\ITK\bin\bin\Debug\ITKBasicFilters.lib:
> Searching C:\ITK\bin\bin\Debug\ITKCommon.lib:
> Searching C:\ITK\bin\bin\Debug\ITKDICOMParser.lib:
> Searching C:\ITK\bin\bin\Debug\ITKEXPAT.lib:
> Searching C:\ITK\bin\bin\Debug\ITKFEM.lib:
> Searching C:\ITK\bin\bin\Debug\itkgdcm.lib:
> Searching C:\ITK\bin\bin\Debug\ITKIO.lib:
> Searching C:\ITK\bin\bin\Debug\itkjpeg8.lib:
> Searching C:\ITK\bin\bin\Debug\itkjpeg12.lib:
> Searching C:\ITK\bin\bin\Debug\itkjpeg16.lib:
> Searching C:\ITK\bin\bin\Debug\ITKMetaIO.lib:
> Searching C:\ITK\bin\bin\Debug\itknetlib.lib:
> Searching C:\ITK\bin\bin\Debug\ITKniftiio.lib:
> Searching C:\ITK\bin\bin\Debug\ITKNrrdIO.lib:
> Searching C:\ITK\bin\bin\Debug\ITKNumerics.lib:
> Searching C:\ITK\bin\bin\Debug\itkpng.lib:
> Searching C:\ITK\bin\bin\Debug\ITKSpatialObject.lib:
> Searching C:\ITK\bin\bin\Debug\ITKStatistics.lib:
> Searching C:\ITK\bin\bin\Debug\itktestlib.lib:
> Searching C:\ITK\bin\bin\Debug\itktiff.lib:
> Searching C:\ITK\bin\bin\Debug\itkvcl.lib:
> Searching C:\ITK\bin\bin\Debug\itkvnl.lib:
> Searching C:\ITK\bin\bin\Debug\itkvnl_algo.lib:
> Searching C:\ITK\bin\bin\Debug\itkvnl_inst.lib:
> Searching C:\ITK\bin\bin\Debug\itkzlib.lib:
> Searching C:\ITK\bin\bin\Debug\ITKznz.lib:
> Searching C:\MSVStudio6\VC98\lib\OLDNAMES.lib:
> Searching C:\MSVStudio6\VC98\lib\msvcprtd.lib:
> Searching C:\ITK\bin\bin\Debug\itksys.lib:
> Searching C:\MSVStudio6\VC98\lib\kernel32.lib:
> Searching C:\MSVStudio6\VC98\lib\user32.lib:
> Done Searching Libraries
> myitk.obj : error LNK2001: unresolved external symbol "class
> std::basic_ostream<char,struct std::char_traits<char> > std::cout"
> (?cout at std@@3V?$basic_ostream at DU?$char_traits at D@std@@@1 at A)
> myitk.obj : error LNK2001: unresolved external symbol "__int64 const
> std::_Fpz" (?_Fpz at std@@3_JB)
> myitk.obj : error LNK2001: unresolved external symbol "private: static
> class std::locale::_Locimp * std::locale::_Locimp::_Global"
> (?_Global at _Locimp@ locale at std@@0PAV123 at A)
> myitk.obj : error LNK2001: unresolved external symbol "private: static
> int std::locale::id::_Id_cnt" (?_Id_cnt at id@locale at std@@0HA)
> .\Debug\myitk.dll : fatal error LNK1120: 4 unresolved externals
>
>
> I had searched the net, and saw that these kind of errors are very
> common to vc++ 6.0. Is there anybody who succeded in creating an ITK DLL
> with msvc++ 6.0?
>
> I am new to windows application development (I use linux normally), so
> maybe I made a very elemental error.
>
> Thanks,
>
> haris
>
> PS: And for the DLL part, my code was like this:
>
> ----------------
> 1. myitk.h:
> ----------------
>
> #ifndef __HELLO_H
> #define __HELLO_H
> #ifndef __HELLO__
> #define __HELLOLIB__ __declspec(dllimport)
> #else
> #define __HELLOLIB__ __declspec(dllexport)
> #endif
> __HELLOLIB__ int myitkhello() ;
> #endif
>
> #include "C:\ITK\src\Code\Common\itkWin32Header.h"
> #include "itkImage.h"
>
>
> class myitk
> {
> public:
>
> myitk();
>
> ~myitk();
>
> };
>
> ----------------
> myitk.cpp:
> ----------------
>
> #define __HELLO__
> #include "myitk.h"
>
> myitk::myitk() {
>
>
> typedef itk::Image< unsigned short, 3 > ImageType;
>
> ImageType::Pointer image = ImageType::New();
> std::cout << "ITK Hello World !" << std::endl;
> FILE *f;
> f = fopen("c:/temp/itk.txt","w");
> fprintf(f,"itk : hello world!!!\n");
> fclose(f);
>
> }
>
>
> myitk::~myitk()
> {
>
> }
>
> __HELLOLIB__ int myitkhello() {
>
> myitk mtk();
> return 0;
> }
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
More information about the Insight-users
mailing list