A problem appeared: spent the day investigating cross boundary passing of native types in different assemblies. If I want to create different dll files for the packages of OpenCascade it happens that there will be classes in one package/assembly derived from classes located in another package/assembly and the native pointer hold in the base class in not visible in the derived class from the other assembly.
Reproduced this problem on a simple project and could solve the error by using #pragma make_public(type). Trying to apply the solution on the OpenCascade wrappers project the linker generates "Custom attributes are not consistent" on several files.
There are two possibilities to solve the problem:
- investigate further the attribute inconsistency and try to generate separate dlls for the OCC packages,
- or put all the wrapper files into one solution and generate one dll for all the wrappers.
Will continue with investigating the attribute inconsistency for half a day and if no acceptable solution will be found probably will put all the wrappers into the same solution and generate one big dll with all of them.
Wednesday, July 16, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment