Cannot find or open PDB file

I am running the following code in visual studio 2010 as win32 console application:

#include
#include
#include
#include
using namespace std;

Standard_Integer main()
{
STEPControl_Reader reader;
reader.ReadFile("C:\Users\..\cylinder.stp");

// Loads file MyFile.stp
Standard_Integer NbRoots = reader.NbRootsForTransfer();

// gets the number of transferable roots
cout }

It shows the following error :
C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
Loaded 'C:\OpenCASCADE6.5.0\ros\win32\vc8\bin\TKernel.dll', Binary was not built
....
....

and the says "The program cannot start because tbbmalloc.dll is missing from your coumputer. try reinstalling the program to fix this problem."
The command window appears though without any output.

I tried 'http://www.opencascade.org/org/forum/thread_20376/' but there was no change.

Mikael Aronsson's picture

The PDB file is a file with debug information, that fact that it is missing is no problem unless you need the debug information (line number, local variable names and so on), when the DLL is compiled a matching PDB file is also created and should be in the same place as the dll.

I have no idea about the missing dll.

Mikael Aronsson's picture

It is possible you might need to rebuild the OCC projects, I don't know how it is today but in the past most demo projects and sometimes the OCC projects was incorrect and needed some modifcations before they would work, they never tested the Visual Studio projects before they released a new version of OCC, but they may have improved on this today.

Forum supervisor's picture

Dear Mikael,
We do not appreciate your false statement:
"... they never tested the Visual Studio projects before they released a new version of OCC...".
We would like to stress that all VC projects before delivery go through certification loop and can't be a part of the coming release without testing by definition.
Without doubt it doesn't exclude appearance of bugs in OCCT, but our experience allows to affirm that the most of problems linked with VC projects is raised by incorrectly tuned local environment.
We believe that every accusation should be based on facts and proved...
Regards
Forum supervisor

lokeshrocks's picture

So is there no solution to the problem ??? Should i use mfc instead of win32 ???

QbProg's picture

strange that it requires tbballoc.dll since it's a dll from threading building blocks. I don't know if OCC binaries are built with it.

Anyway, you are probably loading vc8 binaries (ros/vc8/bin/TKernel.dll) while using VC 2010.
It won't work that way, binaries must match specific compiler version and service pack level.

lokeshrocks's picture

No i am using vc10 binaries only. Can i do this in mfc, if yes then what modifications i must make in project properties etc. as i have never used it before ??

Mikael Aronsson's picture

There is nothing false about the statement, it is possible that they are tested today as I also said, but a number of times when I downloaded OCC (in the past), both OCC itself and sample MFC projects was not possible to compile because a number of reasons, most of the time settings in the project options was incorrect and needed modification, some directories was incorrect and some #defines where missing so there is no chance whatsoever that those project was ever tested.

Often the debug version of a VC project worked fine but a lot of things where incorrect in the release version as an example and it was very clear that only one of the project types had ever been tested not the other, so this is not a FALSE statement, this is 100% true.

And once again, this was in the past, today they may all be tested and verified, I do not know that but they where not then (maybe 4-5 years ago).