如何编译用户自定义DLL
本文将介绍什么是用户自定义DLL以及如何在Visual Studio中编译用户自定义DLL。本教程是基于Visual Studio Community 2017 version 15.9而创建的,但这些步骤在更早的版本中也适用,版本间变化指出均有记载。本文也会讨论其他的编译器。
在Configuration Properties…General中,确保“Configuration Type”已经设为“Dynamic Library (.dll)”,并且把“Character Set”设置为“Use Multi-Byte Character Set”。 注意:更早版本的Visual Studio会需要本文开头提到额外下载包,且需要设置它门的“Platform Toolset”为Windows7.1SDK。 然后,在Configuration Properties…C/C++…Code Generation选取“Runtime Library”。一般地,我们推荐使用Multi-threaded (/MT)或者Multi-threaded DLL (/MD)。 Multi-threaded与Multi-threaded DLL之间的选择比较复杂,但大体上是兼容性和易用性之间的选择。如果该用户自定义DLL不依赖于其他库(library),那么使用Multi-Threaded runtime library意味着不考虑在本电脑上安装使用该DLL的C++ redistributable。如果在本DLL中,需要用到其他的库,那么就需要在此选取那个runtime库,而在绝大多数情况下,它都是Multi-Threaded DLL runtime。 对于简单的不调用第三方库的DLL,Multi-threaded runtime是最佳选择。 一旦以上设定宣告完毕,点击OK来退出Properties对话框。 检查代码错误 现在,我们来检查并确保所有内容都能被母代码识别。如果该DLL是个用户自定义表面且source file路径不在{Zemax}DLLSurfaces文件夹,那么头文件“usersurf.h”会不被认可(由红色下划线表征)。 |
1.行业新闻、市场分析。 2.新品新技术(最新研发出来的产品技术介绍,包括产品性能参数、作用、应用领域及图片); 3.解决方案/专业论文(针对问题及需求,提出一个解决问题的执行方案); 4.技术文章、白皮书,光学软件运用技术(光电行业内技术文档);
如果想要将你的内容出现在这里,欢迎联系我们,投稿邮箱:service@opticsky.cn
-
小小白啊:学习了(2020-09-01)
-
顾鹏翔:学习了(2020-06-12)
-
rige:学习了。。。。。(2020-05-30)
-
jialunzhang:我在生成时遇见“无法启动.dll”文件的情况,请问这是为什么呢(2020-05-30)
-
xiebin525:学习了,谢谢(2020-05-25)