Hello,
There seems to an issue with some linker errors when using the Intel 19 C++ compiler (Update 4) in Visual Studio 2017. We had previously been using successfully been using Vray3.6 with the Intel C++ 15 (in Visual Studio 2012) without issue, but with Visual Studio 2017 and Intel 19 we get multiple errors at link time (some below).
rayserver_s.lib(newdeleteoverload.cpp.obj) : : error LNK2005: "void * __cdecl operator new (unsigned __int64)" (??2@YAPEAX_K@Z) already defined in framework.lib
rayserver_s.lib(embreemeshdistancetree.cpp.obj) : : error LNK2019: unresolved external symbol rtcDeviceNewScene referenced in function "public: __cdecl embree::BVHDistanceTree::BVHDistanceTree(struct __RTCDevice *)"
rayserver_s.lib(embreerayserver.cpp.obj) : : error LNK2001: unresolved external symbol rtcDeviceNewScene
When attempting to build an embree 2.3 or embree 2.7 release to link it, it appears like there are custom rtcNewVRayMesh and rtcGetMemUsage functions which aren't in the main embree releases.
rayserver_s.lib(newdeleteoverload.cpp.obj) : : error LNK2005: "void * __cdecl operator new (unsigned __int64)" (??2@YAPEAX_K@Z) already defined in framework.lib
rayserver_s.lib(embreerayserver.cpp.obj) : : error LNK2019: unresolved external symbol rtcGetMemUsage referenced in function "public: virtual class VUtils::Box __cdecl EmbreeBoxTree::getBoundingBox(void)const "
rayserver_s.lib(embreevoxeltree.cpp.obj): : error LNK2019: unresolved external symbol rtcNewVRayMesh referenced in function "public: virtual void __cdecl EMbreeTree<0,0,class VUtils::StaticTreeDelegateParams
The code using Vray4 will compile with Visual Studio 2017 MSVC compiler, but it seems like when it detects the Intel compiler it causes these linker errors to appear. I have tried including all of the .lib files included in the Vray 4.2 (Max2016) sdk, but nothing seems to be able to properly link. Are there any environment variables or other things that could be done to allow the Intel C++ 19 compiler in VS2017 to be used with Vray4 (so we can continue using an Intel compiler as we did with VRay3)? We did notice speedups in our resulting plugins when the Intel compiler was used previously, and would like to try it again with Vray4 (if possible).
Thanks,
Michael
There seems to an issue with some linker errors when using the Intel 19 C++ compiler (Update 4) in Visual Studio 2017. We had previously been using successfully been using Vray3.6 with the Intel C++ 15 (in Visual Studio 2012) without issue, but with Visual Studio 2017 and Intel 19 we get multiple errors at link time (some below).
rayserver_s.lib(newdeleteoverload.cpp.obj) : : error LNK2005: "void * __cdecl operator new (unsigned __int64)" (??2@YAPEAX_K@Z) already defined in framework.lib
rayserver_s.lib(embreemeshdistancetree.cpp.obj) : : error LNK2019: unresolved external symbol rtcDeviceNewScene referenced in function "public: __cdecl embree::BVHDistanceTree::BVHDistanceTree(struct __RTCDevice *)"
rayserver_s.lib(embreerayserver.cpp.obj) : : error LNK2001: unresolved external symbol rtcDeviceNewScene
When attempting to build an embree 2.3 or embree 2.7 release to link it, it appears like there are custom rtcNewVRayMesh and rtcGetMemUsage functions which aren't in the main embree releases.
rayserver_s.lib(newdeleteoverload.cpp.obj) : : error LNK2005: "void * __cdecl operator new (unsigned __int64)" (??2@YAPEAX_K@Z) already defined in framework.lib
rayserver_s.lib(embreerayserver.cpp.obj) : : error LNK2019: unresolved external symbol rtcGetMemUsage referenced in function "public: virtual class VUtils::Box __cdecl EmbreeBoxTree::getBoundingBox(void)const "
rayserver_s.lib(embreevoxeltree.cpp.obj): : error LNK2019: unresolved external symbol rtcNewVRayMesh referenced in function "public: virtual void __cdecl EMbreeTree<0,0,class VUtils::StaticTreeDelegateParams
The code using Vray4 will compile with Visual Studio 2017 MSVC compiler, but it seems like when it detects the Intel compiler it causes these linker errors to appear. I have tried including all of the .lib files included in the Vray 4.2 (Max2016) sdk, but nothing seems to be able to properly link. Are there any environment variables or other things that could be done to allow the Intel C++ 19 compiler in VS2017 to be used with Vray4 (so we can continue using an Intel compiler as we did with VRay3)? We did notice speedups in our resulting plugins when the Intel compiler was used previously, and would like to try it again with Vray4 (if possible).
Thanks,
Michael
Comment