VS2012, OpenCascade 6.5.3 Loading Libraries (DLLs)


I've searched through the forums and there's been a number of topics related to this issue, but I've been unable to resolve this issue.

We recently upgraded to VS2012 (Version VC11). We have the correct libraries (VC11) in place. For several years we've copied the required DLLs into the Debug or Release executable directory when doing testing within Visual Studio.

For every debug and release version of the software we must do this because if we don't we get the unresolved external errors when running the application (e.g. TKBRep.dll is missing from your computer...)

I've always thought this was weird since we're defining the LIBPATHs and whatnot, but after reading through your suggestions and then reading through the associated .bat files that are recommended to use, a couple things have occurred to me.

First, OpenCascade uses its own environment variables to load the libraries. From what I can tell, these are CSF_OPT_LIB32[D], CSF_OPT_BIN32[D] and their 64 counterparts.

Second, although we have the new libraries, these script files don't seem to allow for VC11 - the highest they seem to be supported for is 2010 (VC10).

Is there someone that can tell me exactly what environment variables need to be defined for loading the DLLs? I've set the ones above, and I'm still having load issues. Even if the batch files included do support VS2012 (or I'm given them) their implementation within our projects doesn't seem feasible.

BTW, our binary paths are C:\OpenCASCADE6.5.3\ros\win32\vc11\bin - perhaps the "lib" or "bin" is appended to the above environment variables or something?

In summary, we need to be able to load the dynamic libraries without having them in the executable directory.

Thanks in advance,


Shing Liu's picture

Hi Steve,
I think you can add the binary path "C:\OpenCASCADE6.5.3\ros\win32\vc11\bin " to the PATH environment variable of the script file.