Skip to content

Conversation

@roigcarlo
Copy link
Member

@roigcarlo roigcarlo commented Dec 23, 2025

📝 Description
@Rbravo555 this Fixes #14089 (or should, can't test exaustively). If you can try it and give feedback I'd appreaciate.

@sunethwarna There is big change in hdf5_points_data. I've merged the source and header in one file. I am afraid that there is no other solution for this class in particular, because VertexContainerCoordinateIO is derived from PointsData<VertexIO> which causes the later to be partialy defined until the compiler sees the definition of PointsData<VertexIO>, which triggers the error and the explicit instantiation cannot be moved before the definition of VertexContainer because its base class needs to come before...

Rest of the problems were most warnings because stf::vector especializations which causes functions not being able to resolve overloads correctly.

That being said, I reported this to be broken about a year ago.

@roigcarlo roigcarlo requested a review from a team as a code owner December 23, 2025 15:56
@Rbravo555
Copy link
Member

I'm compiling this branch, will let you know

@Rbravo555
Copy link
Member

I am getting an LNK2019: unresolved external symbol "public: std::string Kratos::Parameters::Get<std::string> error,

Here's the log:

Windows PowerShell
Copyright (C) Microsoft Corporation. Todos los derechos reservados.

Instale la versión más reciente de PowerShell para obtener nuevas características y mejoras. https://aka.ms/PSWindows

PS D:\Kratos\scripts> git status
On branch hdf5/fix-win
Your branch is up to date with 'origin/hdf5/fix-win'.

nothing to commit, working tree clean
PS D:\Kratos\scripts> .\configure.bat

D:\Kratos\scripts>cmake -G"Visual Studio 16 2019" -H"D:\Kratos\scripts\.." -B"D:\Kratos\scripts\../build\Release"          -DCMAKE_CXX_FLAGS="  "                                                  -DCMAKE_POLICY_VERSION_MINIMUM=3.5                                                                  -DUSE_EIGEN_MKL=OFF                                                                                 -DHDF5_ROOT="D:\hdf5\bin"                                                                           -DKRATOS_GENERATE_PYTHON_STUBS=ON
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.26200.
-- The C compiler identification is MSVC 19.29.30159.0
-- The CXX compiler identification is MSVC 19.29.30159.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No KRATOS_SOURCE_DIR is defined, using: D:/Kratos
-- No KRATOS_BINARY_DIR is defined, using: D:/Kratos/build/Release
-- No KRATOS_INSTALL_PYTHON_USING_LINKS is defined, setting to OFF
-- No CMAKE_INSTALL_MESSAGE is defined. Setting to NEVER
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.52.0.windows.1")
-- CMAKE_SYSTEM_NAME = Windows
-- CMAKE_CXX_COMPILER_ID = MSVC
-- CMAKE_CXX_FLAGS =
-- CMAKE_C_FLAGS = /DWIN32 /D_WINDOWS
-- Detected compiler as MSVC
CMake Deprecation Warning at build/Release/_deps/googletest-src/CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


CMake Deprecation Warning at build/Release/_deps/googletest-src/googlemock/CMakeLists.txt:39 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


CMake Deprecation Warning at build/Release/_deps/googletest-src/googletest/CMakeLists.txt:49 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Found Python: C:/Program Files/Python310/python.exe (found version "3.10.11") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
CMake Deprecation Warning at cmake_modules/pybind11Tools.cmake:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  CMakeLists.txt:407 (include)


-- Found PythonInterp: C:\Program Files\Python310\python.exe (found suitable version "3.10.11", minimum required is "3.6")
-- Found PythonLibs: C:/Program Files/Python310/libs/python310.lib
-- LTO is Disabled
-- AR VERSION: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe
-- Python version used for the interface will be 3.10
-- Standard install dir D:/Kratos/bin/Release
-- "KRATOS_SHARED_MEMORY_PARALLELIZATION" not defined, defaulting to "OpenMP"
-- Found OpenMP_C: -openmp (found version "2.0")
-- Found OpenMP_CXX: -openmp (found version "2.0")
-- Found OpenMP: TRUE (found version "2.0")
-- Using OpenMP for shared memory parallelization
-- Found Boost: D:/Boost/lib/cmake/Boost-1.89.0/BoostConfig.cmake (found version "1.89.0")
-- Boost include directory found with find_package
-- Boost library deduced from root directory
-- Boost include directory: D:/Boost/include/boost-1_89
-- Boost library directory: D:\Boost/lib
-- Could NOT find ZLIB (missing: ZLIB_INCLUDE_DIR)
-- Preparing local ZLIB compilation.
CMake Deprecation Warning at external_libraries/zlib/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found

-- CMAKE_BUILD_TYPE ........ Release

-- Found ZLIB by find_package():
-- * Configuring gidpost library
-- Configuring applications (ENV):
        Adding application 'applications\LinearSolversApplication'
**** configuring KratosLinearSolversApplication ****
CMake Deprecation Warning at cmake_modules/pybind11Tools.cmake:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  applications/LinearSolversApplication/CMakeLists.txt:28 (include)


        Adding application 'applications\FluidDynamicsApplication'
**** configuring KratosFluidDynamicsApplication ****
        Adding application 'applications\RomApplication'
**** configuring KratosRomApplication ****
CMake Deprecation Warning at cmake_modules/pybind11Tools.cmake:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  applications/RomApplication/CMakeLists.txt:6 (include)


        Adding application 'applications\ConvectionDiffusionApplication'
**** configuring KratosConvectionDiffusionApplication ****
        Adding application 'applications\HDF5Application'
**** configuring KratosHDF5Application ****
-- Searching for serial HDF5 libraries.
-- Found HDF5: hdf5-shared (found version "1.12.2") found components: C
-- Using serial HDF5 libraries.

***********************************************************************

        LIST OF APPLICATIONS THAT ARE GOING TO BE COMPILED:

        LinearSolversApplication
        FluidDynamicsApplication
        RomApplication
        ConvectionDiffusionApplication
        HDF5Application

        APPLICATIONS ADDED TO COMPILATION THROUGH DEPENDENCIES:


***********************************************************************


List of upcoming API-breaking and behavior changes:
         Behavior change of Testing. Please ensure you use KRATOS_EXPECT for testing instead of KRATOS_CHECK
         Removal of misused EXTENDED_GAUSS integration rules and unification across geometries: https://github.com/KratosMultiphysics/Kratos/pull/13444
-- clipper : D:/Kratos/external_libraries/clipper
-- tinyexpr : D:/Kratos/external_libraries/tinyexpr/tinyexpr/
-- Configuring done (14.8s)
CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_IMPLIB not set for imported target "hdf5-shared" configuration
  "FullDebug".


CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_IMPLIB not set for imported target "hdf5-shared" configuration
  "FullDebug".


CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_LOCATION or IMPORTED_IMPLIB not set for imported target
  "hdf5-shared" configuration "FullDebug".


CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_IMPLIB not set for imported target "hdf5-shared" configuration
  "FullDebug".


-- Generating done (0.5s)
CMake Generate step failed.  Build files cannot be regenerated correctly.

D:\Kratos\scripts>rem Build

D:\Kratos\scripts>cmake --build "D:\Kratos\scripts\../build/Release" --target install -- /property:configuration=Release /p:Platform=x64
Microsoft (R) Build Engine versión 16.11.6+a918ceb31 para .NET Framework
Copyright (C) Microsoft Corporation. Todos los derechos reservados.

  1>Checking Build System
  KratosVersion.vcxproj -> D:\Kratos\build\Release\kratos\KratosVersion.dir\Release\KratosVersion.lib
  clipper.vcxproj -> D:\Kratos\build\Release\external_libraries\clipper\Release\clipper.lib
  zlib.vcxproj -> D:\Kratos\build\Release\external_libraries\zlib\Release\zlib.dll
  gidpost.vcxproj -> D:\Kratos\build\Release\external_libraries\gidpost\source\Release\gidpost.lib
  tinyexpr.vcxproj -> D:\Kratos\build\Release\external_libraries\tinyexpr\Release\tinyexpr.lib
  KratosCore.vcxproj -> D:\Kratos\build\Release\kratos\Release\KratosCore.dll
  Kratos.vcxproj -> D:\Kratos\build\Release\kratos\Release\Kratos.cp310-win_amd64.pyd
  KratosConvectionDiffusionCore.vcxproj -> D:\Kratos\build\Release\applications\ConvectionDiffusionApplication\Release\KratosConvectionDiffusionCore.dll
  KratosConvectionDiffusionApplication.vcxproj -> D:\Kratos\build\Release\applications\ConvectionDiffusionApplication\Release\KratosConvectionDiffusionApplication.pyd
  KratosFluidDynamicsCore.vcxproj -> D:\Kratos\build\Release\applications\FluidDynamicsApplication\Release\KratosFluidDynamicsCore.dll
  KratosFluidDynamicsApplication.vcxproj -> D:\Kratos\build\Release\applications\FluidDynamicsApplication\Release\KratosFluidDynamicsApplication.pyd
     Creando biblioteca D:/Kratos/build/Release/applications/HDF5Application/Release/KratosHDF5Core.lib y objeto D:/Kratos/build/Release/applications/HDF5Application/Release/KratosHDF5Core.exp
hdf5_vertex_container_io.obj : error LNK2019: símbolo externo "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Kratos::Parameters::Get<class std::basic_
string<char,struct std::char_traits<char>,class std::allocator<char> > >(void)const " (??$Get@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Parameters@Kratos@@QEBA?AV?$basic_string@DU?$char_t
raits@D@std@@V?$allocator@D@2@@std@@XZ) sin resolver al que se hace referencia en la función "public: __cdecl Kratos::HDF5::VertexContainerCoordinateIO::VertexContainerCoordinateIO(class Kratos::Parameters,cl
ass std::shared_ptr<class Kratos::HDF5::File>)" (??0VertexContainerCoordinateIO@HDF5@Kratos@@QEAA@VParameters@2@V?$shared_ptr@VFile@HDF5@Kratos@@@std@@@Z) [D:\Kratos\build\Release\applications\HDF5Application
\KratosHDF5Core.vcxproj]
D:\Kratos\build\Release\applications\HDF5Application\Release\KratosHDF5Core.dll : fatal error LNK1120: 1 externos sin resolver [D:\Kratos\build\Release\applications\HDF5Application\KratosHDF5Core.vcxproj]
  KratosLinearSolversCore.vcxproj -> D:\Kratos\build\Release\applications\LinearSolversApplication\Release\KratosLinearSolversCore.pyd
  KratosLinearSolversApplication.vcxproj -> D:\Kratos\build\Release\applications\LinearSolversApplication\Release\KratosLinearSolversApplication.pyd
  KratosRomCore.vcxproj -> D:\Kratos\build\Release\applications\RomApplication\Release\KratosRomCore.dll
  KratosRomApplication.vcxproj -> D:\Kratos\build\Release\applications\RomApplication\Release\KratosRomApplication.pyd

D:\Kratos\scripts>goto:eof
PS D:\Kratos\scripts>

@roigcarlo
Copy link
Member Author

Ok, compilation errors should be solved, but not sure about the CI testes failing, I suspect there is some mismatch with the overload of the cheks in the function WriteComponents, but I am not familiar with the details of this piece of code in particular and my filesystem seems that does not support the executions of the tests that are failing, so patience with those.

@Rbravo555
Copy link
Member

I am still getting some error LNK2019

Here's the log:

Windows PowerShell
Copyright (C) Microsoft Corporation. Todos los derechos reservados.

Instale la versión más reciente de PowerShell para obtener nuevas características y mejoras. https://aka.ms/PSWindows

PS D:\Kratos\scripts> git pull
Already up to date.
PS D:\Kratos\scripts> git status
On branch hdf5/fix-win
Your branch is up to date with 'origin/hdf5/fix-win'.

nothing to commit, working tree clean
PS D:\Kratos\scripts> .\configure.bat

D:\Kratos\scripts>cmake -G"Visual Studio 16 2019" -H"D:\Kratos\scripts\.." -B"D:\Kratos\scripts\../build\Release"          -DCMAKE_CXX_FLAGS="  "                                                  -DCMAKE_POLICY_VERSION_MINIMUM=3.5                                                                  -DUSE_EIGEN_MKL=OFF                                                                                 -DHDF5_ROOT="D:\hdf5\bin"                                                                           -DKRATOS_GENERATE_PYTHON_STUBS=ON
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.26200.
-- The C compiler identification is MSVC 19.29.30159.0
-- The CXX compiler identification is MSVC 19.29.30159.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No KRATOS_SOURCE_DIR is defined, using: D:/Kratos
-- No KRATOS_BINARY_DIR is defined, using: D:/Kratos/build/Release
-- No KRATOS_INSTALL_PYTHON_USING_LINKS is defined, setting to OFF
-- No CMAKE_INSTALL_MESSAGE is defined. Setting to NEVER
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.52.0.windows.1")
-- CMAKE_SYSTEM_NAME = Windows
-- CMAKE_CXX_COMPILER_ID = MSVC
-- CMAKE_CXX_FLAGS =
-- CMAKE_C_FLAGS = /DWIN32 /D_WINDOWS
-- Detected compiler as MSVC
CMake Deprecation Warning at build/Release/_deps/googletest-src/CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


CMake Deprecation Warning at build/Release/_deps/googletest-src/googlemock/CMakeLists.txt:39 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


CMake Deprecation Warning at build/Release/_deps/googletest-src/googletest/CMakeLists.txt:49 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Found Python: C:/Program Files/Python310/python.exe (found version "3.10.11") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
CMake Deprecation Warning at cmake_modules/pybind11Tools.cmake:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  CMakeLists.txt:407 (include)


-- Found PythonInterp: C:\Program Files\Python310\python.exe (found suitable version "3.10.11", minimum required is "3.6")
-- Found PythonLibs: C:/Program Files/Python310/libs/python310.lib
-- LTO is Disabled
-- AR VERSION: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe
-- Python version used for the interface will be 3.10
-- Standard install dir D:/Kratos/bin/Release
-- "KRATOS_SHARED_MEMORY_PARALLELIZATION" not defined, defaulting to "OpenMP"
-- Found OpenMP_C: -openmp (found version "2.0")
-- Found OpenMP_CXX: -openmp (found version "2.0")
-- Found OpenMP: TRUE (found version "2.0")
-- Using OpenMP for shared memory parallelization
-- Found Boost: D:/Boost/lib/cmake/Boost-1.89.0/BoostConfig.cmake (found version "1.89.0")
-- Boost include directory found with find_package
-- Boost library deduced from root directory
-- Boost include directory: D:/Boost/include/boost-1_89
-- Boost library directory: D:\Boost/lib
-- Could NOT find ZLIB (missing: ZLIB_INCLUDE_DIR)
-- Preparing local ZLIB compilation.
CMake Deprecation Warning at external_libraries/zlib/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found

-- CMAKE_BUILD_TYPE ........ Release

-- Found ZLIB by find_package():
-- * Configuring gidpost library
-- Configuring applications (ENV):
        Adding application 'applications\LinearSolversApplication'
**** configuring KratosLinearSolversApplication ****
CMake Deprecation Warning at cmake_modules/pybind11Tools.cmake:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  applications/LinearSolversApplication/CMakeLists.txt:28 (include)


        Adding application 'applications\FluidDynamicsApplication'
**** configuring KratosFluidDynamicsApplication ****
        Adding application 'applications\RomApplication'
**** configuring KratosRomApplication ****
CMake Deprecation Warning at cmake_modules/pybind11Tools.cmake:8 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
  applications/RomApplication/CMakeLists.txt:6 (include)


        Adding application 'applications\ConvectionDiffusionApplication'
**** configuring KratosConvectionDiffusionApplication ****
        Adding application 'applications\HDF5Application'
**** configuring KratosHDF5Application ****
-- Searching for serial HDF5 libraries.
-- Found HDF5: hdf5-shared (found version "1.12.2") found components: C
-- Using serial HDF5 libraries.

***********************************************************************

        LIST OF APPLICATIONS THAT ARE GOING TO BE COMPILED:

        LinearSolversApplication
        FluidDynamicsApplication
        RomApplication
        ConvectionDiffusionApplication
        HDF5Application

        APPLICATIONS ADDED TO COMPILATION THROUGH DEPENDENCIES:


***********************************************************************


List of upcoming API-breaking and behavior changes:
         Behavior change of Testing. Please ensure you use KRATOS_EXPECT for testing instead of KRATOS_CHECK
         Removal of misused EXTENDED_GAUSS integration rules and unification across geometries: https://github.com/KratosMultiphysics/Kratos/pull/13444
-- clipper : D:/Kratos/external_libraries/clipper
-- tinyexpr : D:/Kratos/external_libraries/tinyexpr/tinyexpr/
-- Configuring done (18.2s)
CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_IMPLIB not set for imported target "hdf5-shared" configuration
  "FullDebug".


CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_IMPLIB not set for imported target "hdf5-shared" configuration
  "FullDebug".


CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_LOCATION or IMPORTED_IMPLIB not set for imported target
  "hdf5-shared" configuration "FullDebug".


CMake Error in applications/HDF5Application/CMakeLists.txt:
  IMPORTED_IMPLIB not set for imported target "hdf5-shared" configuration
  "FullDebug".


-- Generating done (0.6s)
CMake Generate step failed.  Build files cannot be regenerated correctly.

D:\Kratos\scripts>rem Build

D:\Kratos\scripts>cmake --build "D:\Kratos\scripts\../build/Release" --target install -- /property:configuration=Release /p:Platform=x64
Microsoft (R) Build Engine versión 16.11.6+a918ceb31 para .NET Framework
Copyright (C) Microsoft Corporation. Todos los derechos reservados.

  KratosVersion.vcxproj -> D:\Kratos\build\Release\kratos\KratosVersion.dir\Release\KratosVersion.lib
  clipper.vcxproj -> D:\Kratos\build\Release\external_libraries\clipper\Release\clipper.lib
  zlib.vcxproj -> D:\Kratos\build\Release\external_libraries\zlib\Release\zlib.dll
  gidpost.vcxproj -> D:\Kratos\build\Release\external_libraries\gidpost\source\Release\gidpost.lib
  tinyexpr.vcxproj -> D:\Kratos\build\Release\external_libraries\tinyexpr\Release\tinyexpr.lib
  KratosCore.vcxproj -> D:\Kratos\build\Release\kratos\Release\KratosCore.dll
  Kratos.vcxproj -> D:\Kratos\build\Release\kratos\Release\Kratos.cp310-win_amd64.pyd
  KratosConvectionDiffusionCore.vcxproj -> D:\Kratos\build\Release\applications\ConvectionDiffusionApplication\Release\
  KratosConvectionDiffusionCore.dll
  KratosConvectionDiffusionApplication.vcxproj -> D:\Kratos\build\Release\applications\ConvectionDiffusionApplication\R
  elease\KratosConvectionDiffusionApplication.pyd
  KratosFluidDynamicsCore.vcxproj -> D:\Kratos\build\Release\applications\FluidDynamicsApplication\Release\KratosFluidD
  ynamicsCore.dll
  KratosFluidDynamicsApplication.vcxproj -> D:\Kratos\build\Release\applications\FluidDynamicsApplication\Release\Krato
  sFluidDynamicsApplication.pyd
  KratosHDF5Core.vcxproj -> D:\Kratos\build\Release\applications\HDF5Application\Release\KratosHDF5Core.dll
  KratosHDF5Application.vcxproj -> D:\Kratos\build\Release\applications\HDF5Application\Release\KratosHDF5Application.p
  yd
  KratosLinearSolversCore.vcxproj -> D:\Kratos\build\Release\applications\LinearSolversApplication\Release\KratosLinear
  SolversCore.pyd
  KratosLinearSolversApplication.vcxproj -> D:\Kratos\build\Release\applications\LinearSolversApplication\Release\Krato
  sLinearSolversApplication.pyd
  KratosRomCore.vcxproj -> D:\Kratos\build\Release\applications\RomApplication\Release\KratosRomCore.dll
  KratosRomApplication.vcxproj -> D:\Kratos\build\Release\applications\RomApplication\Release\KratosRomApplication.pyd
  gmock.vcxproj -> D:\Kratos\build\Release\bin\Release\gmock.dll
  gtest.vcxproj -> D:\Kratos\build\Release\bin\Release\gtest.dll
  KratosCoreTestUtilities.vcxproj -> D:\Kratos\build\Release\kratos\Release\KratosCoreTestUtilities.dll
  gmock_main.vcxproj -> D:\Kratos\build\Release\bin\Release\gmock_main.dll
  KratosConvectionDiffusionCoreTest.vcxproj -> D:\Kratos\build\Release\applications\ConvectionDiffusionApplication\Rele
  ase\KratosConvectionDiffusionCoreTest.exe
  KratosCoreTest.vcxproj -> D:\Kratos\build\Release\kratos\Release\KratosCoreTest.exe
  KratosFluidDynamicsCoreTest.vcxproj -> D:\Kratos\build\Release\applications\FluidDynamicsApplication\Release\KratosFl
  uidDynamicsCoreTest.exe
test_hdf5_connectivities_data.obj : error LNK2019: símbolo externo "class std::vector<class Kratos::PointerVectorSet<cl
ass Kratos::Element,class Kratos::IndexedObject,struct std::less<unsigned __int64>,struct std::equal_to<unsigned __int6
4>,class Kratos::intrusive_ptr<class Kratos::Element>,class std::vector<class Kratos::intrusive_ptr<class Kratos::Eleme
nt>,class std::allocator<class Kratos::intrusive_ptr<class Kratos::Element> > > >,class std::allocator<class Kratos::Po
interVectorSet<class Kratos::Element,class Kratos::IndexedObject,struct std::less<unsigned __int64>,struct std::equal_t
o<unsigned __int64>,class Kratos::intrusive_ptr<class Kratos::Element>,class std::vector<class Kratos::intrusive_ptr<cl
ass Kratos::Element>,class std::allocator<class Kratos::intrusive_ptr<class Kratos::Element> > > > > > __cdecl Kratos::
FactorElements(class Kratos::PointerVectorSet<class Kratos::Element,class Kratos::IndexedObject,struct std::less<unsign
ed __int64>,struct std::equal_to<unsigned __int64>,class Kratos::intrusive_ptr<class Kratos::Element>,class std::vector
<class Kratos::intrusive_ptr<class Kratos::Element>,class std::allocator<class Kratos::intrusive_ptr<class Kratos::Elem
ent> > > > const &)" (?FactorElements@Kratos@@YA?AV?$vector@V?$PointerVectorSet@VElement@Kratos@@VIndexedObject@2@U?$le
ss@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VElement@Kratos@@@2@V?$vector@V?$intrusive_ptr@VElement@Kratos@@@Kratos@@V
?$allocator@V?$intrusive_ptr@VElement@Kratos@@@Kratos@@@std@@@5@@Kratos@@V?$allocator@V?$PointerVectorSet@VElement@Krat
os@@VIndexedObject@2@U?$less@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VElement@Kratos@@@2@V?$vector@V?$intrusive_ptr@V
Element@Kratos@@@Kratos@@V?$allocator@V?$intrusive_ptr@VElement@Kratos@@@Kratos@@@std@@@5@@Kratos@@@std@@@std@@AEBV?$Po
interVectorSet@VElement@Kratos@@VIndexedObject@2@U?$less@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VElement@Kratos@@@2@
V?$vector@V?$intrusive_ptr@VElement@Kratos@@@Kratos@@V?$allocator@V?$intrusive_ptr@VElement@Kratos@@@Kratos@@@std@@@5@@
1@@Z) sin resolver al que se hace referencia en la función "private: virtual void __cdecl Kratos::Testing::KratosHDF5Te
stSuite_HDF5_Internals_ConnectivitiesData1_Test::TestBody(void)" (?TestBody@KratosHDF5TestSuite_HDF5_Internals_Connecti
vitiesData1_Test@Testing@Kratos@@EEAAXXZ) [D:\Kratos\build\Release\applications\HDF5Application\KratosHDF5CoreTest.vcxp
roj]
test_hdf5_connectivities_data.obj : error LNK2019: símbolo externo "class std::vector<class Kratos::PointerVectorSet<cl
ass Kratos::Condition,class Kratos::IndexedObject,struct std::less<unsigned __int64>,struct std::equal_to<unsigned __in
t64>,class Kratos::intrusive_ptr<class Kratos::Condition>,class std::vector<class Kratos::intrusive_ptr<class Kratos::C
ondition>,class std::allocator<class Kratos::intrusive_ptr<class Kratos::Condition> > > >,class std::allocator<class Kr
atos::PointerVectorSet<class Kratos::Condition,class Kratos::IndexedObject,struct std::less<unsigned __int64>,struct st
d::equal_to<unsigned __int64>,class Kratos::intrusive_ptr<class Kratos::Condition>,class std::vector<class Kratos::intr
usive_ptr<class Kratos::Condition>,class std::allocator<class Kratos::intrusive_ptr<class Kratos::Condition> > > > > >
__cdecl Kratos::FactorConditions(class Kratos::PointerVectorSet<class Kratos::Condition,class Kratos::IndexedObject,str
uct std::less<unsigned __int64>,struct std::equal_to<unsigned __int64>,class Kratos::intrusive_ptr<class Kratos::Condit
ion>,class std::vector<class Kratos::intrusive_ptr<class Kratos::Condition>,class std::allocator<class Kratos::intrusiv
e_ptr<class Kratos::Condition> > > > const &)" (?FactorConditions@Kratos@@YA?AV?$vector@V?$PointerVectorSet@VCondition@
Kratos@@VIndexedObject@2@U?$less@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VCondition@Kratos@@@2@V?$vector@V?$intrusive
_ptr@VCondition@Kratos@@@Kratos@@V?$allocator@V?$intrusive_ptr@VCondition@Kratos@@@Kratos@@@std@@@5@@Kratos@@V?$allocat
or@V?$PointerVectorSet@VCondition@Kratos@@VIndexedObject@2@U?$less@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VCondition
@Kratos@@@2@V?$vector@V?$intrusive_ptr@VCondition@Kratos@@@Kratos@@V?$allocator@V?$intrusive_ptr@VCondition@Kratos@@@Kr
atos@@@std@@@5@@Kratos@@@std@@@std@@AEBV?$PointerVectorSet@VCondition@Kratos@@VIndexedObject@2@U?$less@_K@std@@U?$equal
_to@_K@5@V?$intrusive_ptr@VCondition@Kratos@@@2@V?$vector@V?$intrusive_ptr@VCondition@Kratos@@@Kratos@@V?$allocator@V?$
intrusive_ptr@VCondition@Kratos@@@Kratos@@@std@@@5@@1@@Z) sin resolver al que se hace referencia en la función "private
: virtual void __cdecl Kratos::Testing::KratosHDF5TestSuite_HDF5_Internals_ConnectivitiesData2_Test::TestBody(void)" (?
TestBody@KratosHDF5TestSuite_HDF5_Internals_ConnectivitiesData2_Test@Testing@Kratos@@EEAAXXZ) [D:\Kratos\build\Release\
applications\HDF5Application\KratosHDF5CoreTest.vcxproj]
test_hdf5_points_data.obj : error LNK2019: símbolo externo "void __cdecl Kratos::HDF5::WritePartitionTable(class Kratos
::HDF5::File &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct K
ratos::HDF5::WriteInfo const &)" (?WritePartitionTable@HDF5@Kratos@@YAXAEAVFile@12@AEBV?$basic_string@DU?$char_traits@D
@std@@V?$allocator@D@2@@std@@AEBUWriteInfo@12@@Z) sin resolver al que se hace referencia en la función "public: void __
cdecl Kratos::HDF5::Internals::PointsData<class Kratos::HDF5::Internals::NodesIO>::Write(class Kratos::PointerVectorSet
<class Kratos::Node,class Kratos::IndexedObject,struct std::less<unsigned __int64>,struct std::equal_to<unsigned __int6
4>,class Kratos::intrusive_ptr<class Kratos::Node>,class std::vector<class Kratos::intrusive_ptr<class Kratos::Node>,cl
ass std::allocator<class Kratos::intrusive_ptr<class Kratos::Node> > > > const &,class Kratos::HDF5::Internals::NodesIO
 const &,class Kratos::Parameters)" (?Write@?$PointsData@VNodesIO@Internals@HDF5@Kratos@@@Internals@HDF5@Kratos@@QEAAXA
EBV?$PointerVectorSet@VNode@Kratos@@VIndexedObject@2@U?$less@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VNode@Kratos@@@2
@V?$vector@V?$intrusive_ptr@VNode@Kratos@@@Kratos@@V?$allocator@V?$intrusive_ptr@VNode@Kratos@@@Kratos@@@std@@@5@@4@AEB
VNodesIO@234@VParameters@4@@Z) [D:\Kratos\build\Release\applications\HDF5Application\KratosHDF5CoreTest.vcxproj]
test_hdf5_points_data.obj : error LNK2019: símbolo externo "class std::tuple<unsigned int,unsigned int> __cdecl Kratos:
:HDF5::StartIndexAndBlockSize(class Kratos::HDF5::File &,class std::basic_string<char,struct std::char_traits<char>,cla
ss std::allocator<char> > const &)" (?StartIndexAndBlockSize@HDF5@Kratos@@YA?AV?$tuple@II@std@@AEAVFile@12@AEBV?$basic_
string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@@Z) sin resolver al que se hace referencia en la función "public: cla
ss Kratos::Parameters __cdecl Kratos::HDF5::Internals::PointsData<class Kratos::HDF5::Internals::NodesIO>::Read(class K
ratos::PointerVectorSet<class Kratos::Node,class Kratos::IndexedObject,struct std::less<unsigned __int64>,struct std::e
qual_to<unsigned __int64>,class Kratos::intrusive_ptr<class Kratos::Node>,class std::vector<class Kratos::intrusive_ptr
<class Kratos::Node>,class std::allocator<class Kratos::intrusive_ptr<class Kratos::Node> > > > &,class Kratos::HDF5::I
nternals::NodesIO const &)" (?Read@?$PointsData@VNodesIO@Internals@HDF5@Kratos@@@Internals@HDF5@Kratos@@QEAA?AVParamete
rs@4@AEAV?$PointerVectorSet@VNode@Kratos@@VIndexedObject@2@U?$less@_K@std@@U?$equal_to@_K@5@V?$intrusive_ptr@VNode@Krat
os@@@2@V?$vector@V?$intrusive_ptr@VNode@Kratos@@@Kratos@@V?$allocator@V?$intrusive_ptr@VNode@Kratos@@@Kratos@@@std@@@5@
@4@AEBVNodesIO@234@@Z) [D:\Kratos\build\Release\applications\HDF5Application\KratosHDF5CoreTest.vcxproj]
D:\Kratos\build\Release\applications\HDF5Application\Release\KratosHDF5CoreTest.exe : fatal error LNK1120: 4 externos s
in resolver [D:\Kratos\build\Release\applications\HDF5Application\KratosHDF5CoreTest.vcxproj]
  KratosRomCoreTest.vcxproj -> D:\Kratos\build\Release\applications\RomApplication\Release\KratosRomCoreTest.exe
  gtest_main.vcxproj -> D:\Kratos\build\Release\bin\Release\gtest_main.dll
  zlibstatic.vcxproj -> D:\Kratos\build\Release\external_libraries\zlib\Release\zlibstatic.lib

D:\Kratos\scripts>goto:eof
PS D:\Kratos\scripts>

Copy link
Member

@sunethwarna sunethwarna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @roigcarlo , and sorry for being late....

namespace Internals
{
std::string AddMissingAndGetPrefix(Parameters Settings)
std::string AddMissingAndGetPrefix(Parameters & Settings)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this necessary?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, otherwise the copy contructor implicitly calls Get<>

KRATOS_TRY

const std::string prefix = Settings["prefix"].Get<std::string>();
const std::string prefix = Settings["prefix"].GetString();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious: Was the previous causing problems?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Getstd::string is not exposed, hence cannot be called.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HDF5Application] HDF5Application compilation in Windows with Master branch

4 participants