Skip to content

TODO: vcpkg install iccdev[tools] #474

@xsscx

Description

@xsscx

Summary

Sat Jan 10 01:49:42 PM UTC 2026

vcpkg install iccdev[tools] has compile, API, unresolved symbols and other issues to be addressed via Modernization. While it would be nice to have this Feature other Security related Issues should be prioritized ahead of this Issue.

vcpkg compile errors

Sample 1

iccDumpProfile.cpp.obj : error LNK2001: unresolved external symbol "char const * const icMsgValidateWarning" (?icMsgValidateWarning@@3PEBDEB)
iccDumpProfile.cpp.obj : error LNK2001: unresolved external symbol "char const * const icMsgValidateNonCompliant" (?icMsgValidateNonCompliant@@3PEBDEB)
Tools\IccDumpProfile\iccDumpProfile.exe : fatal error LNK1120: 2 unresolved externals

Sample 2

   │ 301       * Function: GetInstance()                                                                                                                                                                                  │
   │ 306  -    *  Private static function foo                                                                                                                               │
   │ 302  +    *  Static function foo    

Sample 3

397     * Purpose: The Reflectance Observer Element                                                                                                                                                                  │
   │ 398     *****************************************************************************                                                                                                                                │
   │ 399     */                                                                                                                                                                                                           │
   │ 400  -  class CIccMpeReflectanceObserver : public CIccMpeSpectralObserver                                                                                                                                            │
   │ 400  +  class ICCPROFLIB_API CIccMpeReflectanceObserver : public CIccMpeSpectralObserver                                                                                                                             │
   │ 

Sample 4

git fetch; git diff origin/$(git branch --show-current) --stat
 Build/Cmake/IccProfLib/CMakeLists.txt              |    18 +-
 Build/Cmake/IccXML/CMakeLists.txt                  |    11 +-
 Build/Cmake/Tools/IccDEVCmm/CMakeLists.txt         |    13 +-
 IccProfLib/IccArrayFactory.h                       |    13 +-
 IccProfLib/IccMpeACS.h                             |     6 +-
 IccProfLib/IccMpeBasic.h                           |    30 +-
 IccProfLib/IccMpeFactory.h                         |    15 +-
 IccProfLib/IccMpeSpectral.h                        |    18 +-
 IccProfLib/IccPrmg.h                               |     2 +-
 IccProfLib/IccStructFactory.h                      |    13 +-
 IccProfLib/IccTagFactory.h                         |    15 +-
 IccProfLib/IccTagMPE.h                             |     2 +-
 IccProfLib/IccXformFactory.h                       |    15 +-

Sample 5

diff --git a/IccProfLib/IccMpeACS.h b/IccProfLib/IccMpeACS.h
index c7132f2..6965c5d 100644
--- a/IccProfLib/IccMpeACS.h
+++ b/IccProfLib/IccMpeACS.h
@@ -84,7 +84,7 @@ namespace iccDEV {
 * Purpose: The alternate connection space base class element
 *****************************************************************************
 */
-class CIccMpeAcs : public CIccMultiProcessElement
+class ICCPROFLIB_API CIccMpeAcs : public CIccMultiProcessElement
 {
 public:
   virtual ~CIccMpeAcs();
@@ -123,7 +123,7 @@ protected:
 * Purpose: The bACS element
 *****************************************************************************
 */
-class CIccMpeBAcs : public CIccMpeAcs
+class ICCPROFLIB_API CIccMpeBAcs : public CIccMpeAcs
 {
 public:
   CIccMpeBAcs(icUInt16Number nChannels=0, icAcsSignature sig = 0);
@@ -147,7 +147,7 @@ public:
 * Purpose: The eAcs element
 *****************************************************************************
 */
-class CIccMpeEAcs : public CIccMpeAcs
+class ICCPROFLIB_API CIccMpeEAcs : public CIccMpeAcs
 {
 public:
   CIccMpeEAcs(icUInt16Number nChannels=0, icAcsSignature sig = 0);

Originally posted by @xsscx in #473 (comment)

build-x64-windows-dbg-out.log

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions