NPTrackingToolsx64.lib points to 32-bit DLL
Posted: Mon Jun 04, 2012 1:35 pm
Hello,
I downloaded the Tracking Tools 2.5.0 Beta last week since I wanted to build a 64-bit application with the new 64-bit supported TT libraries. I believe the 64-bit static library NPTrackingToolsx64.lib references the 32-bit DLL instead of the 64-bit DLL.
I linked and compiled with the NPTrackingToolsx64.lib to build my 64-bit application. However, at runtime when it should link to the 64-bit NPTrackingToolsx64.dll my application aborted with errors. I tried to build the sample "markers" application (64-bit configuration) that comes with TT and also got errors. Using DependencyWalker I saw that both my application and the markers executable had a dependency listed for the 32-bit NPTrackingTools.dll, not the 64-bit NPTrackingToolsx64.dll. Indeed if I looked at the 64-bit lib file, it shows the filename of the 32-bit DLL in several places but not the 64-bit DLL filename.
I was able to work around this by renaming the 32-bit DLL and then renaming the 64-bit DLL to NPTrackingTools.dll so that it would be the one referenced by the 64-bit lib. Now my application and the sample application are working happily and dependency walker shows the dependency being resolved and it's happy.
Just wanted to let you know
Cameron
I downloaded the Tracking Tools 2.5.0 Beta last week since I wanted to build a 64-bit application with the new 64-bit supported TT libraries. I believe the 64-bit static library NPTrackingToolsx64.lib references the 32-bit DLL instead of the 64-bit DLL.
I linked and compiled with the NPTrackingToolsx64.lib to build my 64-bit application. However, at runtime when it should link to the 64-bit NPTrackingToolsx64.dll my application aborted with errors. I tried to build the sample "markers" application (64-bit configuration) that comes with TT and also got errors. Using DependencyWalker I saw that both my application and the markers executable had a dependency listed for the 32-bit NPTrackingTools.dll, not the 64-bit NPTrackingToolsx64.dll. Indeed if I looked at the 64-bit lib file, it shows the filename of the 32-bit DLL in several places but not the 64-bit DLL filename.
I was able to work around this by renaming the 32-bit DLL and then renaming the 64-bit DLL to NPTrackingTools.dll so that it would be the one referenced by the 64-bit lib. Now my application and the sample application are working happily and dependency walker shows the dependency being resolved and it's happy.
Just wanted to let you know
Cameron