sideeffects / HoudiniFBX

Houdini's FBX integration.
46 stars 16 forks source link

Compile Error #8

Closed mehrroz closed 1 year ago

mehrroz commented 1 year ago

Hello, I am trying to build on windows 11 with Cygwin. But I am getting this error, any idea how to fix it?

$ make WINDOWS=1 ROP_FBX.dll ==== Building for Houdini 19.5.303 ==== "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl" -c -nologo -TP -Zc:forScope -Zc:rvalueCast -Zc:inline -Zc:strictStrings -std:c++17 -Zc:referenceBinding -Zc:ternary -Zc:throwingNew -permissive- -Zc:__cplusplus -DAMD64 -DSIZEOF_VOID_P=8 -DI386 -DWIN32 -DSWAP_BITFIELDS -D_WIN32_WINNT=0x0600 -DNOMINMAX -DSTRICT -DWIN32_LEAN_AND_MEAN -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DSESI_LITTLE_ENDIAN -DHBOOST_ALL_NO_LIB -DEIGEN_MALLOC_ALREADY_ALIGNED=0 -DFBX_ENABLED=1 -DOPENCL_ENABLED=1 -DOPENVDB_ENABLED=1 -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS=1 -I . -IC:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include -IC:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include/fbx -I "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include" -I "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/include" -I "C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/ucrt" -I "C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um" -I "C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/shared" -wd4384 -wd4355 -w14996 -O2 -DNDEBUG -DUSE_PYTHON3=1 -MD -EHsc -GR -bigobj -DMAKING_DSO \ ROP_FBX.C -FoROP_FBX.o ROP_FBX.C c:\program files\side effects software\houdini 19.5.303\toolkit\include\sys\SYS_Types.h(346): error C3615: constexpr function 'SYS_FPRealUnionT::SYS_FPRealUnionT' cannot result in a constant expression c:\program files\side effects software\houdini 19.5.303\toolkit\include\sys\SYS_Types.h(346): note: failure was because type 'SYS_FPRealUnionT::fpreal_type' is not a literal type c:\program files\side effects software\houdini 19.5.303\toolkit\include\sys\fpreal16.h(98): note: type 'fpreal16' is not a literal type because it is not an aggregate type, a closure type, or does not have a constexpr constructor that is not a copy or move constructor C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include\DEP/DEP_ContextOptions.h(23): warning C4996: 'tbb::tbb_hash': tbb::tbb_hash is deprecated, use std::hash with [ Key=UT_StringHolder ] C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include\tbb/concurrent_unordered_set.h(63): note: see declaration of 'tbb::tbb_hash' with [ Key=UT_StringHolder ] C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include\tbb/concurrent_vector.h(680): error C2061: syntax error: identifier 'concurrent_vector<template-type-parameter-1',template-type-parameter-2'>' C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include\tbb/concurrent_vector.h(1167): note: see reference to class template instantiation 'tbb::concurrent_vector<T,A>' being compiled C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/include\memory_resource(860): note: see reference to class template instantiation 'std::pmr::_Intrusive_stack<std::pmr::monotonic_buffer_resource::_Header,void>' being compiled C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/include\memory_resource(465): note: see reference to class template instantiation 'std::pmr::_Intrusive_stack<std::pmr::unsynchronized_pool_resource::_Pool::_Chunk,void>' being compiled C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include\tbb/concurrent_vector.h(681): error C2334: unexpected token(s) preceding ':'; skipping apparent function body C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/include\tbb/concurrent_vector.h(1167): fatal error C1903: unable to recover from previous error(s); stopping compilation make: *** [C:/PROGRA~1/SIDEEF~1/HOUDIN~1.303/toolkit/makefiles/Makefile.gnu:71: ROP_FBX.o] Error 2

e4lam commented 1 year ago

Houdini 19.5 requires C++17 so you need to be using Visual Studio 2019.

mehrroz commented 1 year ago

Hello! ) I tried to use but got an error, Unknown version of VIsual Studio or C++

CL_VER_OUTPUT := $(shell "$(MSVCDir)/bin$(AMD64_SUFFIX)/cl" 2>&1)
ifneq ($(findstring Version 19.1,$(CL_VER_OUTPUT)),)
VSVER := 15 # Visual Studio 2017
else ifneq ($(findstring Version 19.0,$(CL_VER_OUTPUT)),)
VSVER := 14 # Visual Studio 2015
else
    $(error ==== Unknown version of Visual C++ ====)
endif 
e4lam commented 1 year ago

Is that from Makefile.nmake from your 19.5 installation? VS_VER isn't even used anymore. I'd just replace that block of code with:

 AMD64_SUFFIX = /Hostx64/x64
e4lam commented 1 year ago

Ah, it's from Makefile.gnu. I'd just remove that block of code as it's no longer needed.

e4lam commented 1 year ago

These makefiles have been fixed for Houdini 19.5.408.

mehrroz commented 1 year ago

thx