Compilation error when generating Python binding for overloaded virtual function

I am currently implementing an overloaded variant of the Scale function that supports scale with type Eigen::Vector3d in case the user wants to perform a coefficientwise scale. The Scale function can be found almost every 3D-class in open3d::geometry. I’d say that I am done with my first implementation.

However, I am stuck at a problem. I am getting a hideous error during compilation that I can’t comprehend.

The changes I have made can be found in my fork.

Error text
Creating library C:/Users/Can/Projects/Other/Open3D/build/lib/Release/Python/cpu/pybind.lib and object C:/Users/Can/Projects/Other/Open3D/build/lib/Release/Python/cpu/pybind.exp
Open3D.lib(FilamentGeometryBuffersBuilder.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)"
(?Scale@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(TriangleMeshBuffers.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geo
metry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(PointCloudBuffers.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geome
try3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(LineSetBuffers.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry
3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(FileASSIMP.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D@g
eometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(ViewControlWithCustomAnimation.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)"
(?Scale@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(VisualizerWithCustomAnimation.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (
?Scale@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(RotationInteractorLogic.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale
@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(IBLRotationInteractorLogic.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Sc
ale@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(LightDirectionInteractorLogic.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (
?Scale@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(ModelInteractorLogic.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Ge
ometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(FilamentScene.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3
D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(O3DVisualizerSelections.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale
@Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(Receiver.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D@geo
metry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(MatrixInteractorLogic.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@G
eometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(PickPointsInteractor.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Ge
ometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(Qhull.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D@geomet
ry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(Visualization.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3
D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(PointCloudPicker.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geomet
ry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(SelectionPolygon.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geomet
ry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(PointCloud.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D@g
eometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(TriangleMesh.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D
@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(PointCloudIO.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D
@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(SelectionPolygonVolume.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@
Geometry3D@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(ColoredICP.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D@g
eometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]
Open3D.lib(Registration.obj) : error LNK2001: unresolved external symbol "public: virtual class open3d::geometry::Geometry3D & __cdecl open3d::geometry::Geometry3D::Scale(class Eigen::Matrix<double,3,1,0,3,1> const &,class Eigen::Matrix<double,3,1,0,3,1> const &)" (?Scale@Geometry3D
@geometry@open3d@@UEAAAEAV123@AEBV?$Matrix@N$02$00$0A@$02$00@Eigen@@0@Z) fatal error LNK1120: 3 unresolved externals [C:\Users\Can\Projects\Other\Open3D\build\cpp\pybind\pybind.vcxproj]