-
Notifications
You must be signed in to change notification settings - Fork 35
Link Error after cmake #2
Description
Hi,
I have link error when I build solution in Visual Studio 2017. It may be caused by different versions of Optix, DevIL or CUDA. (I find the code won't work with Optix 7.0 or higher). How can I solve this problem and what is the version of Optix and Devil you suggest?
My environment is: Windows 10, Optix 6.0, DevIL 1.8.0, CUDA10.1.
The error message is following:
1>Camera.obj : error LNK2019: 无法解析的外部符号 __imp_rtVariableSet3fv,该符号在函数 "public: void __cdecl optix::VariableObj::setFloat(struct optix::float3)" (?setFloat@VariableObj@optix@@QEAAXUfloat3@2@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtVariableSet3fv
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtVariableSetObject,该符号在函数 "public: void __cdecl optix::VariableObj::setBuffer(class optix::Handle)" (?setBuffer@VariableObj@optix@@QEAAXV?$Handle@VBufferObj@optix@@@2@@z) 中被引用
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtVariableGetContext,该符号在函数 "public: virtual class optix::Handle __cdecl optix::VariableObj::getContext(void)const " (?getContext@VariableObj@optix@@ueba?AV?$Handle@VContextObj@optix@@@2@XZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtVariableGetContext
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextDestroy,该符号在函数 "public: virtual void __cdecl optix::ContextObj::destroy(void)" (?destroy@ContextObj@optix@@UEAAXXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextDestroy
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextValidate,该符号在函数 "public: virtual void __cdecl optix::ContextObj::validate(void)" (?validate@ContextObj@optix@@UEAAXXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextValidate
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextGetErrorString,该符号在函数 "public: static class optix::Exception __cdecl optix::Exception::makeException(enum RTresult,struct RTcontext_api *)" (?makeException@Exception@optix@@sa?AV12@W4RTresult@@PEAURTcontext_api@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextGetErrorString
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextDeclareVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ContextObj::declareVariable(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?declareVariable@ContextObj@optix@@UEAA?AV?$Handle@VVariableObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextDeclareVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextQueryVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ContextObj::queryVariable(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)const " (?queryVariable@ContextObj@optix@@ueba?AV?$Handle@VVariableObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextQueryVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextRemoveVariable,该符号在函数 "public: virtual void __cdecl optix::ContextObj::removeVariable(class optix::Handle)" (?removeVariable@ContextObj@optix@@UEAAXV?$Handle@VVariableObj@optix@@@2@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextRemoveVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextGetVariableCount,该符号在函数 "public: virtual unsigned int __cdecl optix::ContextObj::getVariableCount(void)const " (?getVariableCount@ContextObj@optix@@UEBAIXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextGetVariableCount
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtContextGetVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ContextObj::getVariable(unsigned int)const " (?getVariable@ContextObj@optix@@ueba?AV?$Handle@VVariableObj@optix@@@2@I@Z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtContextGetVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramCreateFromPTXFile,该符号在函数 "public: class optix::Handle __cdecl optix::ContextObj::createProgramFromPTXFile(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?createProgramFromPTXFile@ContextObj@optix@@qeaa?AV?$Handle@VProgramObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@0@Z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramCreateFromPTXFile
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramDestroy,该符号在函数 "public: virtual void __cdecl optix::ProgramObj::destroy(void)" (?destroy@ProgramObj@optix@@UEAAXXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramDestroy
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramValidate,该符号在函数 "public: virtual void __cdecl optix::ProgramObj::validate(void)" (?validate@ProgramObj@optix@@UEAAXXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramValidate
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramGetContext,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ProgramObj::getContext(void)const " (?getContext@ProgramObj@optix@@ueba?AV?$Handle@VContextObj@optix@@@2@XZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramGetContext
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramDeclareVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ProgramObj::declareVariable(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?declareVariable@ProgramObj@optix@@UEAA?AV?$Handle@VVariableObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramDeclareVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramQueryVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ProgramObj::queryVariable(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)const " (?queryVariable@ProgramObj@optix@@ueba?AV?$Handle@VVariableObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramQueryVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramRemoveVariable,该符号在函数 "public: virtual void __cdecl optix::ProgramObj::removeVariable(class optix::Handle)" (?removeVariable@ProgramObj@optix@@UEAAXV?$Handle@VVariableObj@optix@@@2@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramRemoveVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramGetVariableCount,该符号在函数 "public: virtual unsigned int __cdecl optix::ProgramObj::getVariableCount(void)const " (?getVariableCount@ProgramObj@optix@@UEBAIXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramGetVariableCount
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtProgramGetVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::ProgramObj::getVariable(unsigned int)const " (?getVariable@ProgramObj@optix@@ueba?AV?$Handle@VVariableObj@optix@@@2@I@Z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtProgramGetVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceCreate,该符号在函数 "public: class optix::Handle __cdecl optix::ContextObj::createGeometryInstance(void)" (?createGeometryInstance@ContextObj@optix@@qeaa?AV?$Handle@VGeometryInstanceObj@optix@@@2@XZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceCreate
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceDestroy,该符号在函数 "public: virtual void __cdecl optix::GeometryInstanceObj::destroy(void)" (?destroy@GeometryInstanceObj@optix@@UEAAXXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceDestroy
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceValidate,该符号在函数 "public: virtual void __cdecl optix::GeometryInstanceObj::validate(void)" (?validate@GeometryInstanceObj@optix@@UEAAXXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceValidate
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceGetContext,该符号在函数 "public: virtual class optix::Handle __cdecl optix::GeometryInstanceObj::getContext(void)const " (?getContext@GeometryInstanceObj@optix@@ueba?AV?$Handle@VContextObj@optix@@@2@XZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceGetContext
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceSetGeometry,该符号在函数 "public: void __cdecl optix::GeometryInstanceObj::setGeometry(class optix::Handle)" (?setGeometry@GeometryInstanceObj@optix@@QEAAXV?$Handle@VGeometryObj@optix@@@2@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceSetGeometry
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceSetMaterialCount,该符号在函数 "public: void __cdecl optix::GeometryInstanceObj::setMaterialCount(unsigned int)" (?setMaterialCount@GeometryInstanceObj@optix@@QEAAXI@Z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceSetMaterialCount
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceSetMaterial,该符号在函数 "public: void __cdecl optix::GeometryInstanceObj::setMaterial(unsigned int,class optix::Handle)" (?setMaterial@GeometryInstanceObj@optix@@QEAAXIV?$Handle@VMaterialObj@optix@@@2@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceSetMaterial
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceDeclareVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::GeometryInstanceObj::declareVariable(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?declareVariable@GeometryInstanceObj@optix@@UEAA?AV?$Handle@VVariableObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceDeclareVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceQueryVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::GeometryInstanceObj::queryVariable(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)const " (?queryVariable@GeometryInstanceObj@optix@@ueba?AV?$Handle@VVariableObj@optix@@@2@AEBV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceQueryVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceRemoveVariable,该符号在函数 "public: virtual void __cdecl optix::GeometryInstanceObj::removeVariable(class optix::Handle)" (?removeVariable@GeometryInstanceObj@optix@@UEAAXV?$Handle@VVariableObj@optix@@@2@@z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceRemoveVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceGetVariableCount,该符号在函数 "public: virtual unsigned int __cdecl optix::GeometryInstanceObj::getVariableCount(void)const " (?getVariableCount@GeometryInstanceObj@optix@@UEBAIXZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceGetVariableCount
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryInstanceGetVariable,该符号在函数 "public: virtual class optix::Handle __cdecl optix::GeometryInstanceObj::getVariable(unsigned int)const " (?getVariable@GeometryInstanceObj@optix@@ueba?AV?$Handle@VVariableObj@optix@@@2@I@Z) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryInstanceGetVariable
1>OptiXMesh.obj : error LNK2019: 无法解析的外部符号 __imp_rtGeometryCreate,该符号在函数 "public: class optix::Handle __cdecl optix::ContextObj::createGeometry(void)" (?createGeometry@ContextObj@optix@@qeaa?AV?$Handle@VGeometryObj@optix@@@2@XZ) 中被引用
1>sutil.obj : error LNK2001: 无法解析的外部符号 __imp_rtGeometryCreate