Difference between revisions of "2013 Project Week:ITKv4Default"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(27 intermediate revisions by 4 users not shown)
Line 7: Line 7:
 
==Key Investigators==
 
==Key Investigators==
  
 +
* Kitware: Jean-Christophe Fillion-Robin
 +
* Kitware: Luis Ibanez
 +
* U of Iowa: Hans Johnson
 +
* BWH: Ron Kikinis
 +
* Bill's Basement: Bill Lorensen
 +
* Isomics: Steve Pieper
 +
* NLM: Bradley Lowekamp
 
* Kitware: Matt McCormick
 
* Kitware: Matt McCormick
* Kitware: Luis Ibanez
+
* Queen's: Csaba Pinter
 +
* NLM: Terry Yoo
  
 
==Project Description==
 
==Project Description==
Line 22: Line 30:
 
* Get Slicer-ITKv4 dashboard build working.
 
* Get Slicer-ITKv4 dashboard build working.
 
* Test packaging on all platforms.
 
* Test packaging on all platforms.
* Address the Issue [http://www.na-mic.org/Bug/view.php?id=2727 #2727]
 
 
* Address the Issue [http://www.na-mic.org/Bug/view.php?id=2813 #2813]
 
* Address the Issue [http://www.na-mic.org/Bug/view.php?id=2813 #2813]
 
</div>
 
</div>
Line 28: Line 35:
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<div style="width: 27%; float: left; padding-right: 3%;">
 
<h3>Progress</h3>
 
<h3>Progress</h3>
 
+
* DCMTK updated to latest version to fix link errors
 +
* Linking errors fixed
 +
* Verified Windows Runs/Loads Files/Number of ImageIO factories registered: 20
 +
* (Wednesday Jan 9th) Built, Packed and Installed in Windows 64bits and 32bits using Visual Studio 2008
 +
** Took advantage of ITKv4 modularization to use only Slicer needed modules form ITK.
 +
** Patched tclap lib for std::min due to Visual Studio min macro.
 +
** Using top directory of 4 characters (e.g.  Binary Dir = C:\S43R, Source Dir = C:\Users\abcdef\src\Slicer43)
 +
* CLI ImageIO factory registration fixed on Windows
 +
* DWIConvert working on Windows
 +
* ITKv4 related commits have been squashed, tweaked and reviewed so that they could be integrated into Slicer trunk. See https://github.com/jcfr/Slicer/compare/next-itkv4-20130110
 +
</div>
 
</div>
 
</div>
  
 
== Work in Progress ==
 
== Work in Progress ==
 +
 +
 +
=== Blockers ===
 +
 +
==== Windows ====
 +
 +
* IO Factory registration
 +
** In CLIs
 +
** In main Slicer
 +
* Packaging
  
 
=== Git Branch to Use ===
 
=== Git Branch to Use ===
  
 
* Using this branch: https://github.com/BRAINSia/Slicer43/tree/20130107-next-slicer43
 
* Using this branch: https://github.com/BRAINSia/Slicer43/tree/20130107-next-slicer43
 +
* Migration Plan at Slicer Wiki: https://www.slicer.org/wiki/ITKv4_Migration_plan
  
 
=== Windows 7, VS 2008, x64, Qt 8.2 Release build ===
 
=== Windows 7, VS 2008, x64, Qt 8.2 Release build ===
==== Slicer43 61eff760ab7647c5cc1e557c50b2d31a9b1ef710 ====
+
 
 +
git checkout origin/20130107-next-slicer43
 +
 
 +
https://dl.dropbox.com/u/1686930/itkv4builds/build1after%20update.txt
 +
 
 +
https://dl.dropbox.com/u/1686930/itkv4builds/build2after%20update.txt
 +
 
 +
Patch for InterlockedIncrement build error:
 +
<pre>
 +
diff --git a/ofstd/include/dcmtk/ofstd/ofmem.h b/ofstd/include/dcmtk/ofstd/ofmem.h
 +
index 473b9c8..94bb937 100644
 +
--- a/ofstd/include/dcmtk/ofstd/ofmem.h
 +
+++ b/ofstd/include/dcmtk/ofstd/ofmem.h
 +
@@ -226,7 +226,11 @@ private:
 +
 +
    private:
 +
        /// The counter.
 +
+#ifdef HAVE_INTERLOCKED_INCREMENT
 +
+        volatile LONG m_Count;
 +
+#else
 +
        size_t m_Count;
 +
+#endif
 +
        /// The pointer to the managed object.
 +
        T* const m_pT;
 +
#ifdef OF_SHARED_PTR_NEED_MUTEX
 +
</pre>
 +
 
 +
 
 +
Patch for tclap issue with std::min
  
 
<pre>
 
<pre>
2>Build log was saved at "file://c:\pieper\si4\si4r\ZERO_CHECK.dir\Release\BuildLog.htm"
+
diff --git a/tclap/include/tclap/StdOutput.h b/tclap/include/tclap/StdOutput.h
2>ZERO_CHECK - 0 error(s), 0 warning(s)
+
index 2748b9e..229b934 100644
2>
+
--- a/tclap/include/tclap/StdOutput.h
2>
+
+++ b/tclap/include/tclap/StdOutput.h
2>The build has been canceled at the user's request
+
@@ -33,6 +33,12 @@
2>
+
#include <tclap/XorHandler.h>
1>------ Skipped Build: Project: RUN_TESTS, Configuration: Release x64 ------
+
#include <tclap/Arg.h>
1>Project not selected to build for this solution configuration
+
2>------ Build started: Project: DCMTK, Configuration: Release x64 ------
+
+// Conditionally undefine the min macro that Visual Studio defines.
2>Performing update step (git fetch) for 'DCMTK'
+
+#ifdef min
2>M dcmnet/libsrc/dwrap.c
+
+#undef min
2>M ofstd/libsrc/oflist.cc
+
+#endif
2>M ofstd/libsrc/ofthread.cc
+
+
2>HEAD is now at 148fc86... Added C wrapper for hosts_access() to work around ancient libwrap.
+
+
2>Performing configure step for 'DCMTK'
+
namespace TCLAP {
2>-- Info: DCMTK's builtin private dictionary support will be disabled
+
 
2>-- Info: Thread support will be enabled
+
</pre>
2>-- Info: Wide char file I/O functions will be disabled
 
2>-- Info: Wide char main function for command line tools will be disabled
 
2>-- Configuring done
 
2>-- Generating done
 
2>CMake Warning:
 
2>  Manually-specified variables were not used by the project:
 
2>    CMAKE_BUILD_TYPE
 
2>    DCMTK_FORCE_FPIC_ON_UNIX
 
2>    DCMTK_WITH_WRAP
 
2>-- Build files have been written to: C:/pieper/si4/si4r/DCMTK-build
 
2>Performing build step for 'DCMTK'
 
2>Microsoft (R) Visual Studio Version 9.0.21022.8.
 
2>Copyright (C) Microsoft Corp. All rights reserved.
 
2>1>------ Build started: Project: ofstd_tests, Configuration: Release x64 ------
 
2>1>Compiling...
 
2>2>------ Build started: Project: dcmnet, Configuration: Release x64 ------
 
2>1>tmem.cc
 
2>2>Compiling...
 
2>1>C:\pieper\si4\si4r\DCMTK\ofstd\include\dcmtk/ofstd/ofmem.h(193) : error C2664: '_InterlockedIncrement' : cannot convert parameter 1 from 'size_t *' to 'volatile LONG *'
 
2>1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
 
2>1>        C:\pieper\si4\si4r\DCMTK\ofstd\include\dcmtk/ofstd/ofmem.h(189) : while compiling class template member function 'void OFshared_ptr<T>::Data::increment_count(void)'
 
2>2>dwrap.c
 
2>1>        with
 
2>2>..\..\..\DCMTK\dcmnet\libsrc\dwrap.c(27) : fatal error C1083: Cannot open include file: 'syslog.h': No such file or directory
 
2>1>        [
 
2>1>            T=int
 
2>2>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\libsrc\dcmnet.dir\Release\BuildLog.htm"
 
2>1>        ]
 
2>2>dcmnet - 1 error(s), 0 warning(s)
 
2>1>        C:\pieper\si4\si4r\DCMTK\ofstd\include\dcmtk/ofstd/ofmem.h(69) : see reference to class template instantiation 'OFshared_ptr<T>::Data' being compiled
 
2>1>        with
 
2>1>        [
 
2>1>            T=int
 
2>1>        ]
 
2>1>        C:\pieper\si4\si4r\DCMTK\ofstd\include\dcmtk/ofstd/ofmem.h(69) : while compiling class template member function 'OFshared_ptr<T>::OFshared_ptr(T *const )'
 
2>1>        with
 
2>1>        [
 
2>1>            T=int
 
2>1>        ]
 
2>1>        ..\..\..\DCMTK\ofstd\tests\tmem.cc(32) : see reference to class template instantiation 'OFshared_ptr<T>' being compiled
 
2>1>        with
 
2>3>------ Build started: Project: getscu, Configuration: Release x64 ------
 
2>1>        [
 
2>3>Performing Pre-Link Event...
 
2>1>            T=int
 
2>1>        ]
 
2>1>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\ofstd\tests\ofstd_tests.dir\Release\BuildLog.htm"
 
2>1>ofstd_tests - 1 error(s), 0 warning(s)
 
2>4>------ Build started: Project: termscu, Configuration: Release x64 ------
 
2>4>Performing Pre-Link Event...
 
2>5>------ Build started: Project: movescu, Configuration: Release x64 ------
 
2>3>Linking...
 
2>4>Linking...
 
2>3>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\getscu.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\getscu.exp
 
2>5>Performing Pre-Link Event...
 
2>3>getscu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function main
 
2>5>Linking...
 
2>4>termscu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function main
 
2>3>getscu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function main
 
2>4>C:\pieper\si4\si4r\DCMTK-build\bin\Release\termscu.exe : fatal error LNK1120: 1 unresolved externals
 
2>3>getscu.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>3>C:\pieper\si4\si4r\DCMTK-build\bin\Release\getscu.exe : fatal error LNK1120: 3 unresolved externals
 
2>4>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\termscu.dir\Release\BuildLog.htm"
 
2>6>------ Build started: Project: echoscu, Configuration: Release x64 ------
 
2>7>------ Build started: Project: findscu, Configuration: Release x64 ------
 
2>4>termscu - 2 error(s), 0 warning(s)
 
2>3>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\getscu.dir\Release\BuildLog.htm"
 
2>7>Performing Pre-Link Event...
 
2>6>Performing Pre-Link Event...
 
2>3>getscu - 4 error(s), 0 warning(s)
 
2>5>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\movescu.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\movescu.exp
 
2>8>------ Build started: Project: storescp, Configuration: Release x64 ------
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl subOpSCP(struct T_ASC_Association * *)" (?subOpSCP@@YA?AVOFCondition@@PEAPEAUT_ASC_Association@@@Z)
 
2>9>------ Build started: Project: storescu, Configuration: Release x64 ------
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl subOpSCP(struct T_ASC_Association * *)" (?subOpSCP@@YA?AVOFCondition@@PEAPEAUT_ASC_Association@@@Z)
 
2>8>Performing Pre-Link Event...
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADCOMMANDTYPE" (?DIMSE_BADCOMMANDTYPE@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl subOpSCP(struct T_ASC_Association * *)" (?subOpSCP@@YA?AVOFCondition@@PEAPEAUT_ASC_Association@@@Z)
 
2>9>Performing Pre-Link Event...
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NODATAAVAILABLE" (?DIMSE_NODATAAVAILABLE@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl subOpSCP(struct T_ASC_Association * *)" (?subOpSCP@@YA?AVOFCondition@@PEAPEAUT_ASC_Association@@@Z)
 
2>6>Linking...
 
2>7>Linking...
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NOVALIDPRESENTATIONCONTEXTID" (?DIMSE_NOVALIDPRESENTATIONCONTEXTID@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl moveSCU(struct T_ASC_Association *,char const *)" (?moveSCU@@YA?AVOFCondition@@PEAUT_ASC_Association@@PEBD@Z)
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADDATA" (?DIMSE_BADDATA@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl moveSCU(struct T_ASC_Association *,char const *)" (?moveSCU@@YA?AVOFCondition@@PEAUT_ASC_Association@@PEBD@Z)
 
2>10>------ Build started: Project: dcmqrti, Configuration: Release x64 ------
 
2>8>Linking...
 
2>9>Linking...
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function main
 
2>11>------ Build started: Project: dcmqrscp, Configuration: Release x64 ------
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "class OFGlobal<bool> dcmDisableGethostbyaddr" (?dcmDisableGethostbyaddr@@3V?$OFGlobal@_N@@A) referenced in function main
 
2>10>Performing Pre-Link Event...
 
2>11>Performing Pre-Link Event...
 
2>5>movescu.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>7>findscu.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>6>echoscu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function main
 
2>6>echoscu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function main
 
2>5>C:\pieper\si4\si4r\DCMTK-build\bin\Release\movescu.exe : fatal error LNK1120: 9 unresolved externals
 
2>7>C:\pieper\si4\si4r\DCMTK-build\bin\Release\findscu.exe : fatal error LNK1120: 1 unresolved externals
 
2>6>echoscu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function main
 
2>12>------ Build started: Project: wlmscpfs, Configuration: Release x64 ------
 
2>6>echoscu.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>6>C:\pieper\si4\si4r\DCMTK-build\bin\Release\echoscu.exe : fatal error LNK1120: 4 unresolved externals
 
2>7>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\findscu.dir\Release\BuildLog.htm"
 
2>5>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\movescu.dir\Release\BuildLog.htm"
 
2>5>movescu - 10 error(s), 0 warning(s)
 
2>7>findscu - 2 error(s), 0 warning(s)
 
2>6>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\echoscu.dir\Release\BuildLog.htm"
 
2>8>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\storescp.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\storescp.exp
 
2>9>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\storescu.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\storescu.exp
 
2>12>Performing Pre-Link Event...
 
2>6>echoscu - 5 error(s), 0 warning(s)
 
2>11>Linking...
 
2>10>Linking...
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADCOMMANDTYPE" (?DIMSE_BADCOMMANDTYPE@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl processCommands(struct T_ASC_Association *)" (?processCommands@@YA?AVOFCondition@@PEAUT_ASC_Association@@@Z)
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NOVALIDPRESENTATIONCONTEXTID" (?DIMSE_NOVALIDPRESENTATIONCONTEXTID@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl storeSCU(struct T_ASC_Association *,char const *)" (?storeSCU@@YA?AVOFCondition@@PEAUT_ASC_Association@@PEBD@Z)
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_OUTOFRESOURCES" (?DIMSE_OUTOFRESOURCES@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl processCommands(struct T_ASC_Association *)" (?processCommands@@YA?AVOFCondition@@PEAUT_ASC_Association@@@Z)
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADDATA" (?DIMSE_BADDATA@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl storeSCU(struct T_ASC_Association *,char const *)" (?storeSCU@@YA?AVOFCondition@@PEAUT_ASC_Association@@PEBD@Z)
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NODATAAVAILABLE" (?DIMSE_NODATAAVAILABLE@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl processCommands(struct T_ASC_Association *)" (?processCommands@@YA?AVOFCondition@@PEAUT_ASC_Association@@@Z)
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const ASC_USERIDENTIFICATIONFAILED" (?ASC_USERIDENTIFICATIONFAILED@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl checkUserIdentityResponse(struct T_ASC_Parameters *)" (?checkUserIdentityResponse@@YA?AVOFCondition@@PEAUT_ASC_Parameters@@@Z)
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl acceptAssociation(struct T_ASC_Network *,class DcmAssociationConfiguration &)" (?acceptAssociation@@YA?AVOFCondition@@PEAUT_ASC_Network@@AEAVDcmAssociationConfiguration@@@Z)
 
2>12>Linking...
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const ASC_NULLKEY" (?ASC_NULLKEY@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl checkUserIdentityResponse(struct T_ASC_Parameters *)" (?checkUserIdentityResponse@@YA?AVOFCondition@@PEAUT_ASC_Parameters@@@Z)
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl acceptAssociation(struct T_ASC_Network *,class DcmAssociationConfiguration &)" (?acceptAssociation@@YA?AVOFCondition@@PEAUT_ASC_Network@@AEAVDcmAssociationConfiguration@@@Z)
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const ASC_BADPRESENTATIONCONTEXTID" (?ASC_BADPRESENTATIONCONTEXTID@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl addStoragePresentationContexts(struct T_ASC_Parameters *,class OFList<class OFString> &)" (?addStoragePresentationContexts@@YA?AVOFCondition@@PEAUT_ASC_Parameters@@AEAV?$OFList@VOFString@@@@@Z)
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_NOASSOCIATIONREQUEST" (?DUL_NOASSOCIATIONREQUEST@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl acceptAssociation(struct T_ASC_Network *,class DcmAssociationConfiguration &)" (?acceptAssociation@@YA?AVOFCondition@@PEAUT_ASC_Network@@AEAVDcmAssociationConfiguration@@@Z)
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function main
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "class OFGlobal<int> dcmExternalSocketHandle" (?dcmExternalSocketHandle@@3V?$OFGlobal@H@@A) referenced in function main
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function main
 
2>8>storescp.obj : error LNK2019: unresolved external symbol "class OFGlobal<bool> dcmDisableGethostbyaddr" (?dcmDisableGethostbyaddr@@3V?$OFGlobal@_N@@A) referenced in function main
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function main
 
2>8>C:\pieper\si4\si4r\DCMTK-build\bin\Release\storescp.exe : fatal error LNK1120: 8 unresolved externals
 
2>13>------ Build started: Project: dcmsend, Configuration: Release x64 ------
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "class OFGlobal<unsigned long> dcmMaxOutgoingPDUSize" (?dcmMaxOutgoingPDUSize@@3V?$OFGlobal@K@@A) referenced in function main
 
2>11>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmqrscp.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmqrscp.exp
 
2>10>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmqrti.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmqrti.exp
 
2>9>storescu.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>8>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\storescp.dir\Release\BuildLog.htm"
 
2>10>dcmqrti.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>11>dcmqrscp.obj : error LNK2019: unresolved external symbol "class OFGlobal<bool> dcmDisableGethostbyaddr" (?dcmDisableGethostbyaddr@@3V?$OFGlobal@_N@@A) referenced in function main
 
2>9>C:\pieper\si4\si4r\DCMTK-build\bin\Release\storescu.exe : fatal error LNK1120: 10 unresolved externals
 
2>8>storescp - 9 error(s), 0 warning(s)
 
2>11>dcmqrscp.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>10>dcmqrdb.lib(dcmqrtis.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function "private: bool __cdecl DcmQueryRetrieveTelnetInitiator::TI_attachAssociation(void)" (?TI_attachAssociation@DcmQueryRetrieveTelnetInitiator@@AEAA_NXZ)
 
2>9>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\storescu.dir\Release\BuildLog.htm"
 
2>13>Performing Pre-Link Event...
 
2>11>dcmqrdb.lib(dcmqrsrv.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const ASC_SHUTDOWNAPPLICATION" (?ASC_SHUTDOWNAPPLICATION@@3UOFConditionConst@@B) referenced in function "private: class OFCondition __cdecl DcmQueryRetrieveSCP::negotiateAssociation(struct T_ASC_Association *)" (?negotiateAssociation@DcmQueryRetrieveSCP@@AEAA?AVOFCondition@@PEAUT_ASC_Association@@@Z)
 
2>10>C:\pieper\si4\si4r\DCMTK-build\bin\Release\dcmqrti.exe : fatal error LNK1120: 2 unresolved externals
 
2>9>storescu - 11 error(s), 0 warning(s)
 
2>11>dcmqrdb.lib(dcmqrsrv.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADCOMMANDTYPE" (?DIMSE_BADCOMMANDTYPE@@3UOFConditionConst@@B) referenced in function "private: class OFCondition __cdecl DcmQueryRetrieveSCP::dispatch(struct T_ASC_Association *,bool)" (?dispatch@DcmQueryRetrieveSCP@@AEAA?AVOFCondition@@PEAUT_ASC_Association@@_N@Z)
 
2>12>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\wlmscpfs.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\wlmscpfs.exp
 
2>11>dcmqrdb.lib(dcmqrsrv.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function "private: class OFCondition __cdecl DcmQueryRetrieveSCP::handleAssociation(struct T_ASC_Association *,bool)" (?handleAssociation@DcmQueryRetrieveSCP@@AEAA?AVOFCondition@@PEAUT_ASC_Association@@_N@Z)
 
2>10>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmqrdb\apps\dcmqrti.dir\Release\BuildLog.htm"
 
2>12>wlcefs.obj : error LNK2019: unresolved external symbol "class OFGlobal<bool> dcmDisableGethostbyaddr" (?dcmDisableGethostbyaddr@@3V?$OFGlobal@_N@@A) referenced in function "public: __cdecl WlmConsoleEngineFileSystem::WlmConsoleEngineFileSystem(int,char * * const,char const *,class WlmDataSource *)" (??0WlmConsoleEngineFileSystem@@QEAA@HQEAPEADPEBDPEAVWlmDataSource@@@Z)
 
2>11>dcmqrdb.lib(dcmqrsrv.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function "private: class OFCondition __cdecl DcmQueryRetrieveSCP::handleAssociation(struct T_ASC_Association *,bool)" (?handleAssociation@DcmQueryRetrieveSCP@@AEAA?AVOFCondition@@PEAUT_ASC_Association@@_N@Z)
 
2>13>Linking...
 
2>12>dcmwlm.lib(wlmactmg.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADCOMMANDTYPE" (?DIMSE_BADCOMMANDTYPE@@3UOFConditionConst@@B) referenced in function "protected: class OFCondition __cdecl WlmActivityManager::ReceiveAndHandleCommands(struct T_ASC_Association *)" (?ReceiveAndHandleCommands@WlmActivityManager@@IEAA?AVOFCondition@@PEAUT_ASC_Association@@@Z)
 
2>11>dcmqrdb.lib(dcmqrcbg.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NOVALIDPRESENTATIONCONTEXTID" (?DIMSE_NOVALIDPRESENTATIONCONTEXTID@@3UOFConditionConst@@B) referenced in function "private: class OFCondition __cdecl DcmQueryRetrieveGetContext::performGetSubOp(char * const,char * const,char *)" (?performGetSubOp@DcmQueryRetrieveGetContext@@AEAA?AVOFCondition@@QEAD0PEAD@Z)
 
2>10>dcmqrti - 3 error(s), 0 warning(s)
 
2>12>dcmwlm.lib(wlmactmg.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function "protected: void __cdecl WlmActivityManager::HandleAssociation(struct T_ASC_Association *)" (?HandleAssociation@WlmActivityManager@@IEAAXPEAUT_ASC_Association@@@Z)
 
2>11>dcmqrdb.lib(dcmqrcbm.obj) : error LNK2001: unresolved external symbol "struct OFConditionConst const DIMSE_NOVALIDPRESENTATIONCONTEXTID" (?DIMSE_NOVALIDPRESENTATIONCONTEXTID@@3UOFConditionConst@@B)
 
2>12>dcmwlm.lib(wlmactmg.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function "protected: void __cdecl WlmActivityManager::HandleAssociation(struct T_ASC_Association *)" (?HandleAssociation@WlmActivityManager@@IEAAXPEAUT_ASC_Association@@@Z)
 
2>11>dcmqrdb.lib(dcmqrcbm.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function "private: class OFCondition __cdecl DcmQueryRetrieveMoveContext::buildSubAssociation(struct T_DIMSE_C_MoveRQ *)" (?buildSubAssociation@DcmQueryRetrieveMoveContext@@AEAA?AVOFCondition@@PEAUT_DIMSE_C_MoveRQ@@@Z)
 
2>12>dcmwlm.lib(wlmactmg.obj) : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_NOASSOCIATIONREQUEST" (?DUL_NOASSOCIATIONREQUEST@@3UOFConditionConst@@B) referenced in function "protected: class OFCondition __cdecl WlmActivityManager::WaitForAssociation(struct T_ASC_Network *)" (?WaitForAssociation@WlmActivityManager@@IEAA?AVOFCondition@@PEAUT_ASC_Network@@@Z)
 
2>11>C:\pieper\si4\si4r\DCMTK-build\bin\Release\dcmqrscp.exe : fatal error LNK1120: 8 unresolved externals
 
2>13>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmsend.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmsend.exp
 
2>14>------ Build started: Project: dcmpssnd, Configuration: Release x64 ------
 
2>12>dcmwlm.lib(wlmactmg.obj) : error LNK2019: unresolved external symbol "class OFGlobal<int> dcmExternalSocketHandle" (?dcmExternalSocketHandle@@3V?$OFGlobal@H@@A) referenced in function "public: class OFCondition __cdecl WlmActivityManager::StartProvidingService(void)" (?StartProvidingService@WlmActivityManager@@QEAA?AVOFCondition@@XZ)
 
2>12>C:\pieper\si4\si4r\DCMTK-build\bin\Release\wlmscpfs.exe : fatal error LNK1120: 6 unresolved externals
 
2>11>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmqrdb\apps\dcmqrscp.dir\Release\BuildLog.htm"
 
2>13>dcmsend.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const NET_EC_NoPresentationContextsDefined" (?NET_EC_NoPresentationContextsDefined@@3UOFConditionConst@@B) referenced in function main
 
2>15>------ Build started: Project: dcmpsrcv, Configuration: Release x64 ------
 
2>14>Performing Pre-Link Event...
 
2>13>dcmsend.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function main
 
2>11>dcmqrscp - 10 error(s), 0 warning(s)
 
2>12>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmwlm\apps\wlmscpfs.dir\Release\BuildLog.htm"
 
2>12>wlmscpfs - 7 error(s), 0 warning(s)
 
2>13>dcmsend.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function main
 
2>16>------ Build started: Project: dcmpsprt, Configuration: Release x64 ------
 
2>15>Performing Pre-Link Event...
 
2>13>dcmsend.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const NET_EC_NoAcceptablePresentationContexts" (?NET_EC_NoAcceptablePresentationContexts@@3UOFConditionConst@@B) referenced in function main
 
2>13>dcmsend.obj : error LNK2019: unresolved external symbol "class OFGlobal<unsigned long> dcmMaxOutgoingPDUSize" (?dcmMaxOutgoingPDUSize@@3V?$OFGlobal@K@@A) referenced in function main
 
2>13>dcmsend.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>16>Performing Pre-Link Event...
 
2>14>Linking...
 
2>13>C:\pieper\si4\si4r\DCMTK-build\bin\Release\dcmsend.exe : fatal error LNK1120: 6 unresolved externals
 
2>17>------ Build started: Project: dcmprscu, Configuration: Release x64 ------
 
2>18>------ Build started: Project: dcmprscp, Configuration: Release x64 ------
 
2>13>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmnet\apps\dcmsend.dir\Release\BuildLog.htm"
 
2>17>Performing Pre-Link Event...
 
2>18>Performing Pre-Link Event...
 
2>13>dcmsend - 7 error(s), 0 warning(s)
 
2>19>------ Build started: Project: dcmp2pgm, Configuration: Release x64 ------
 
2>19>Performing Pre-Link Event...
 
2>15>Linking...
 
2>15>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmpsrcv.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmpsrcv.exp
 
2>14>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmpssnd.lib and object C:\pieper\si4\si4r\DCMTK-build\lib\Release\dcmpssnd.exp
 
2>15>dcmpsrcv.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function "void __cdecl handleClient(struct T_ASC_Association * *,char const *,bool,bool,bool)" (?handleClient@@YAXPEAPEAUT_ASC_Association@@PEBD_N22@Z)
 
2>15>dcmpsrcv.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function "void __cdecl handleClient(struct T_ASC_Association * *,char const *,bool,bool,bool)" (?handleClient@@YAXPEAPEAUT_ASC_Association@@PEBD_N22@Z)
 
2>14>dcmpssnd.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NOVALIDPRESENTATIONCONTEXTID" (?DIMSE_NOVALIDPRESENTATIONCONTEXTID@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl sendImage(struct T_ASC_Association *,char const *,char const *,char const *)" (?sendImage@@YA?AVOFCondition@@PEAUT_ASC_Association@@PEBD11@Z)
 
2>15>dcmpsrcv.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_BADCOMMANDTYPE" (?DIMSE_BADCOMMANDTYPE@@3UOFConditionConst@@B) referenced in function "void __cdecl handleClient(struct T_ASC_Association * *,char const *,bool,bool,bool)" (?handleClient@@YAXPEAPEAUT_ASC_Association@@PEBD_N22@Z)
 
2>14>dcmpssnd.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DIMSE_NULLKEY" (?DIMSE_NULLKEY@@3UOFConditionConst@@B) referenced in function "class OFCondition __cdecl sendImage(struct T_ASC_Association *,char const *,char const *,char const *)" (?sendImage@@YA?AVOFCondition@@PEAUT_ASC_Association@@PEBD11@Z)
 
2>17>Linking...
 
2>18>Linking...
 
2>19>Linking...
 
2>16>Linking...
 
2>15>dcmpsrcv.obj : error LNK2019: unresolved external symbol "class OFGlobal<bool> dcmDisableGethostbyaddr" (?dcmDisableGethostbyaddr@@3V?$OFGlobal@_N@@A) referenced in function main
 
2>14>dcmpssnd.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERABORTEDASSOCIATION" (?DUL_PEERABORTEDASSOCIATION@@3UOFConditionConst@@B) referenced in function main
 
2>15>C:\pieper\si4\si4r\DCMTK-build\bin\Release\dcmpsrcv.exe : fatal error LNK1120: 4 unresolved externals
 
2>14>dcmpssnd.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_PEERREQUESTEDRELEASE" (?DUL_PEERREQUESTEDRELEASE@@3UOFConditionConst@@B) referenced in function main
 
2>14>dcmpssnd.obj : error LNK2019: unresolved external symbol "struct OFConditionConst const DUL_ASSOCIATIONREJECTED" (?DUL_ASSOCIATIONREJECTED@@3UOFConditionConst@@B) referenced in function main
 
2>14>dcmpssnd.obj : error LNK2019: unresolved external symbol "class OFGlobal<long> dcmConnectionTimeout" (?dcmConnectionTimeout@@3V?$OFGlobal@J@@A) referenced in function main
 
2>14>C:\pieper\si4\si4r\DCMTK-build\bin\Release\dcmpssnd.exe : fatal error LNK1120: 6 unresolved externals
 
2>15>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmpstat\apps\dcmpsrcv.dir\Release\BuildLog.htm"
 
2>15>dcmpsrcv - 5 error(s), 0 warning(s)
 
2>14>Build log was saved at "file://c:\pieper\si4\si4r\DCMTK-build\dcmpstat\apps\dcmpssnd.dir\Release\BuildLog.htm"
 
2>14>dcmpssnd - 7 error(s), 0 warning(s)
 
2>16>  Creating library C:\pieper\si4\si4r\DCMTK-build\lib\Release\d
 
  
 
== Results ==
 
== Results ==

Latest revision as of 18:07, 10 July 2017

Home < 2013 Project Week:ITKv4Default

Key Investigators

  • Kitware: Jean-Christophe Fillion-Robin
  • Kitware: Luis Ibanez
  • U of Iowa: Hans Johnson
  • BWH: Ron Kikinis
  • Bill's Basement: Bill Lorensen
  • Isomics: Steve Pieper
  • NLM: Bradley Lowekamp
  • Kitware: Matt McCormick
  • Queen's: Csaba Pinter
  • NLM: Terry Yoo

Project Description

Objective

  • Switch Slicer to use ITKv4 by default.

Approach, Plan

  • Get Slicer-ITKv4 dashboard build working.
  • Test packaging on all platforms.
  • Address the Issue #2813

Progress

  • DCMTK updated to latest version to fix link errors
  • Linking errors fixed
  • Verified Windows Runs/Loads Files/Number of ImageIO factories registered: 20
  • (Wednesday Jan 9th) Built, Packed and Installed in Windows 64bits and 32bits using Visual Studio 2008
    • Took advantage of ITKv4 modularization to use only Slicer needed modules form ITK.
    • Patched tclap lib for std::min due to Visual Studio min macro.
    • Using top directory of 4 characters (e.g. Binary Dir = C:\S43R, Source Dir = C:\Users\abcdef\src\Slicer43)
  • CLI ImageIO factory registration fixed on Windows
  • DWIConvert working on Windows
  • ITKv4 related commits have been squashed, tweaked and reviewed so that they could be integrated into Slicer trunk. See https://github.com/jcfr/Slicer/compare/next-itkv4-20130110

Work in Progress

Blockers

Windows

  • IO Factory registration
    • In CLIs
    • In main Slicer
  • Packaging

Git Branch to Use

Windows 7, VS 2008, x64, Qt 8.2 Release build

git checkout origin/20130107-next-slicer43

https://dl.dropbox.com/u/1686930/itkv4builds/build1after%20update.txt

https://dl.dropbox.com/u/1686930/itkv4builds/build2after%20update.txt

Patch for InterlockedIncrement build error:

diff --git a/ofstd/include/dcmtk/ofstd/ofmem.h b/ofstd/include/dcmtk/ofstd/ofmem.h
index 473b9c8..94bb937 100644
--- a/ofstd/include/dcmtk/ofstd/ofmem.h
+++ b/ofstd/include/dcmtk/ofstd/ofmem.h
@@ -226,7 +226,11 @@ private:
 
     private:
         /// The counter.
+#ifdef HAVE_INTERLOCKED_INCREMENT
+        volatile LONG m_Count;
+#else
         size_t m_Count;
+#endif
         /// The pointer to the managed object.
         T* const m_pT;
 #ifdef OF_SHARED_PTR_NEED_MUTEX


Patch for tclap issue with std::min

diff --git a/tclap/include/tclap/StdOutput.h b/tclap/include/tclap/StdOutput.h
index 2748b9e..229b934 100644
--- a/tclap/include/tclap/StdOutput.h
+++ b/tclap/include/tclap/StdOutput.h
@@ -33,6 +33,12 @@
 #include <tclap/XorHandler.h>
 #include <tclap/Arg.h>
 
+// Conditionally undefine the min macro that Visual Studio defines.
+#ifdef min
+#undef min
+#endif
+
+
 namespace TCLAP {

Results