Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libopenvdb.lib : fatal error LNK1248: #1624

Closed
ActiveXSturcture opened this issue Jun 8, 2023 · 6 comments
Closed

libopenvdb.lib : fatal error LNK1248: #1624

ActiveXSturcture opened this issue Jun 8, 2023 · 6 comments

Comments

@ActiveXSturcture
Copy link

PS D:\openvdb\build> cmake -DCMAKE_TOOLCHAIN_FILE=D:\vcpkg\scripts\buildsystems\vcpkg.cmake -DOPENVDB_BUILD_NANOVDB=ON ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19044.
-- The CXX compiler identification is MSVC 19.36.32532.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Suppressing some noisy MSVC CXX warnings, set OPENVDB_CXX_STRICT=ON to re-enable them.
-- Configuring for OpenVDB Version 10.0.2
-- Configuring for OpenVDB ABI Version 10


-- ------------- Configuring OpenVDBCore --------------


CMake Warning at openvdb/openvdb/CMakeLists.txt:64 (message):
Detected VCPKG toolchain is using a mismatching triplet for OpenVDB build
artifacts. x64-windows is dynamic, but OPENVDB_CORE_STATIC is ON. The
static build of OpenVDB may not build correctly. It it recommended to only
configure either the static or shared library on Windows in a single run of
CMake.

CMake Warning at C:/Program Files/CMake/share/cmake-3.22/Modules/FindBoost.cmake:1384 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.22/Modules/FindBoost.cmake:1507 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files/CMake/share/cmake-3.22/Modules/FindBoost.cmake:2117 (_Boost_MISSING_DEPENDENCIES)
D:/vcpkg/installed/x64-windows/share/boost/vcpkg-cmake-wrapper.cmake:11 (_find_package)
D:/vcpkg/scripts/buildsystems/vcpkg.cmake:807 (include)
openvdb/openvdb/CMakeLists.txt:121 (find_package)

CMake Warning at C:/Program Files/CMake/share/cmake-3.22/Modules/FindBoost.cmake:1384 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.22/Modules/FindBoost.cmake:1507 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files/CMake/share/cmake-3.22/Modules/FindBoost.cmake:2117 (_Boost_MISSING_DEPENDENCIES)
D:/vcpkg/installed/x64-windows/share/boost/vcpkg-cmake-wrapper.cmake:11 (_find_package)
D:/vcpkg/scripts/buildsystems/vcpkg.cmake:807 (include)
openvdb/openvdb/CMakeLists.txt:121 (find_package)

-- Found Boost: D:/vcpkg/installed/x64-windows/include (found suitable version "1.82.0", minimum required is "1.73") found components: iostreams regex
-- Found TBB: D:/vcpkg/installed/x64-windows/include (found suitable version "2021.9", minimum required is "2020.2") found components: tbb
-- Found Blosc: optimized;D:/vcpkg/installed/x64-windows/lib/blosc.lib;debug;D:/vcpkg/installed/x64-windows/debug/lib/blosc.lib (found suitable version "1.21.3", minimum required is "1.17.0")
-- Found ZLIB: optimized;D:/vcpkg/installed/x64-windows/lib/zlib.lib;debug;D:/vcpkg/installed/x64-windows/debug/lib/zlibd.lib (found suitable version "1.2.13", minimum required is "1.2.7")


-- ----------- Configuring OpenVDBBinaries ------------


-- Found TBB: D:/vcpkg/installed/x64-windows/include (found suitable version "2021.9", minimum required is "2020.2") found components: tbbmalloc
-- The C compiler identification is MSVC 19.36.32532.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done


-- --------------- Configuring NanoVDB ----------------


-- Found TBB: D:/vcpkg/installed/x64-windows/include (found version "2021.9") found components: tbb tbbmalloc tbbmalloc_proxy
-- Found Blosc: optimized;D:/vcpkg/installed/x64-windows/lib/blosc.lib;debug;D:/vcpkg/installed/x64-windows/debug/lib/blosc.lib (found version "1.21.3")
-- Found ZLIB: optimized;D:/vcpkg/installed/x64-windows/lib/zlib.lib;debug;D:/vcpkg/installed/x64-windows/debug/lib/zlibd.lib (found version "1.2.13")


-- --------- Configuring NanoVDB Cmd Tools ------------


CMake Warning at nanovdb/nanovdb/cmd/CMakeLists.txt:31 (message):

  • OpenVDB required to build nanovdb_convert. Skipping.

-- Configuring done
-- Generating done
-- Build files have been written to: D:/openvdb/build

cmake --build .

After a while the compiler cames error

@Idclip
Copy link
Contributor

Idclip commented Jun 21, 2023

Please post the full build log, including the reported compiler errors

@ActiveXSturcture
Copy link
Author

Sorry,after change the build config from debug to Release,the error is gone!I don`t know why.But after that i found using vcpkg can not install the third party dependency with static library.Because i build the OpenVDB library for other project,but when i link the libopenvdb.lib,here the error came is could not open tbb12.lib!So i want to ask is there an command that could copy to dependency to install Folder?

@jay3d
Copy link

jay3d commented Jul 6, 2023

@Idclip Building debug static lib always gives this error on Windows MSVC:

[21/136] Linking CXX static library lib\libopenvdb.lib
FAILED: lib/libopenvdb.lib 
cmd.exe /C "cd . && C:\PROGRA~2\MICROS~3\2022\BUILDT~1\VC\Tools\MSVC\1434~1.319\bin\Hostx64\x64\lib.exe /nologo /machine:x64 /out:lib\libopenvdb.lib @CMakeFiles\openvdb_static.rsp  && cd ."
lib\libopenvdb.lib : fatal error LNK1248: image size (10C85BA33) exceeds maximum allowable size (FFFFFFFF)

@jimwang118
Copy link

@Idclip The same problem occurs when I build a static debug openvdb under vcpkg.

cmd.exe /C "cd . && C:\PROGRA~1\MICROS~4\2022\ENTERP~1\VC\Tools\MSVC\1436~1.325\bin\Hostx64\x64\lib.exe  /machine:x64 /nologo /out:openvdb\openvdb\libopenvdb.lib openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\VolumeToSpheres.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\VolumeToMesh.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\VolumeAdvect.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\VelocityFields.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\VectorTransformer.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\ValueTransformer.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\TopologyToLevelSet.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Statistics.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\SignedFloodFill.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\RayTracer.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\RayIntersector.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Prune.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PotentialFlow.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PoissonSolver.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PointsToMask.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PointScatter.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PointPartitioner.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PointIndexGrid.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\PointAdvect.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\ParticlesToLevelSet.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\ParticleAtlas.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\NodeVisitor.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\MultiResGrid.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Morphology.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\MeshToVolume.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Merge.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Mask.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetUtil.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetTracker.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetSphere.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetRebuild.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetPlatonic.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetMorph.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetMeasure.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetFracture.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetFilter.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\LevelSetAdvect.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Interpolation.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\GridTransformer.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\GridOperators.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\FindActiveValues.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Filter.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\FastSweeping.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Diagnostics.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\DenseSparseTools.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Dense.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Count.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Composite.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Clip.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\ChangeBackground.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\instantiations\Activate.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\Grid.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\Archive.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\Compression.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\DelayedLoadMetadata.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\File.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\GridDescriptor.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\Queue.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\Stream.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\io\TempFile.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\math\Half.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\math\Maps.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\math\Proximity.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\math\QuantizedUnitVec.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\math\Transform.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\Metadata.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\MetaMap.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\openvdb.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\Platform.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\points\AttributeArray.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\points\AttributeArrayString.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\points\AttributeGroup.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\points\AttributeSet.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\points\StreamCompression.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\points\points.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\util\Formats.cc.obj openvdb\openvdb\CMakeFiles\openvdb_static.dir\util\Util.cc.obj  && cd ."
openvdb\openvdb\libopenvdb.lib : fatal error LNK1248: image size (1037826E1) exceeds maximum allowable size (FFFFFFFF)

@Idclip
Copy link
Contributor

Idclip commented Sep 23, 2023

Hey folks - that's interesting, it's probably something to do with explicit instantiation creating huge libs. If you're able, can you try and turn off the following cmake option: -D USE_EXPLICIT_INSTANTIATION=OFF

@Idclip
Copy link
Contributor

Idclip commented Oct 12, 2023

Looking at the linked issue it seems as those turning off explicit instantiation fixed the issues you're seeing? Closing for now but please re-open if necessary

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

No branches or pull requests

4 participants