本文主要是介绍com技术组件第7章,用vs2005编译示例代码,com注册不成功。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.先排除你的权限问题,只要网上搜索这个问题,就会给你说权限问题。
2.如果是自己建的工程,很大可能是编译的问题。虽然总是提示成功,但是模块文件(.def)文件没有加载连接,就会生成一个普通的dll文件,不能注册。因为DLLRegisterServer没有被正确的连接到.dll中。
解决方案:
1、将项目->C/C++ ->预处理器 -> 预处理定义加上“;_USRDLL;项目名_EXPORTS",还有链接器 -> 输入 ->项目的DEF文件。
2、根据Linux的makefile文件,可以知道,vs2005一定也有一个类似的文件,用来编译连接的,就是大名鼎鼎的.vcproj文件,在 网上下载一个能成功注册的com模板,查看里面的配置。 PreprocessorDefinitions这一个字段,和ModuleDefinitionFile这个字段。模仿着写。
实际上,两个方法的主要目的就是将你的这些文件,用正确的命令去解释翻译。也就是以前的大牛一步一步去写的DOS命令。各种编译连接选项。
补充知识:
1、_MANAGED MS中的C++/CLI 编译连接命令
2、模块定义
模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将 __declspec(dllexport) 用作指定导出函数的手段。在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。
这篇关于com技术组件第7章,用vs2005编译示例代码,com注册不成功。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!