想完整的做个小的CAD软件都是一件令人很痛苦的活,因为里面的算法实在是过于的繁杂了。考虑用开源的算法库。CGAL需要装QT,放弃了。于是想到用OpenCasCade。文档,源码和示例都很健全,你不得不佩服老外的精力。
但即便如此,想正常编译使用示例(MFC示例)还是一件很麻烦的事情,调试了一上午通过了,要点如下:
1.在VS2005下打开工程,由于for语句的变量限定与以往不同,需要通过项目属性-->配置属性-->C/C++-->语言,把其中强制for循环范围的一致性设为false才行(当然也可以挨个for去改,考虑到麻烦程度和兼容性,还是不要这样做的好)。
2.编译链接报错:LINK : fatal error LNK1181: 无法打开输入文件“TKVrml.lib”。这是因为在所有MFC示例下的链接附加库路径均为:$(CASROOT)\win32\libd。而Windows下实际路径为:$(CASROOT)\win32\lib。通过项目属性-->链接器-->常规-->附加库目录来修改。
3.所有设定完之后,还可能会报一个mfcsample.dll无法找到的错误。这是因为所给示例中,这个dll项目没有Build。你需要先build这个dll项目,才能编译其他的项目。该项目位于samples\standard\mfc\mfcsample下。
恩。配置是完成了,接下来就是看了,对于inc目录下上万个的.h文件还是有些胆怯。如果有谁做过基于OpenCasCade的开发,欢迎交流指导。谢谢。
但即便如此,想正常编译使用示例(MFC示例)还是一件很麻烦的事情,调试了一上午通过了,要点如下:
1.在VS2005下打开工程,由于for语句的变量限定与以往不同,需要通过项目属性-->配置属性-->C/C++-->语言,把其中强制for循环范围的一致性设为false才行(当然也可以挨个for去改,考虑到麻烦程度和兼容性,还是不要这样做的好)。
2.编译链接报错:LINK : fatal error LNK1181: 无法打开输入文件“TKVrml.lib”。这是因为在所有MFC示例下的链接附加库路径均为:$(CASROOT)\win32\libd。而Windows下实际路径为:$(CASROOT)\win32\lib。通过项目属性-->链接器-->常规-->附加库目录来修改。
3.所有设定完之后,还可能会报一个mfcsample.dll无法找到的错误。这是因为所给示例中,这个dll项目没有Build。你需要先build这个dll项目,才能编译其他的项目。该项目位于samples\standard\mfc\mfcsample下。
恩。配置是完成了,接下来就是看了,对于inc目录下上万个的.h文件还是有些胆怯。如果有谁做过基于OpenCasCade的开发,欢迎交流指导。谢谢。
本文转自 duguguiyu 51CTO博客,原文链接:http://blog.51cto.com/duguguiyu/363280,如需转载请自行联系原作者