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 文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值