2

在构建我的项目时出现未在 (vcxproj .rc) 文件中生成 (.tlb) 文件的错误:

错误 RC2135:找不到文件:DocOutPPML.tlb [C:\ElxVC\SRC\OutputConverters\DocOutPPML\DocOutPPMLCHS.vcxproj]

使用 Visual Studio 2010,我将此项目从 vcproj 转换为 vcxproj。

4

3 回答 3

4

您需要资源编译器具有指向类型库的正确路径。您可以在资源配置属性常规附加包含目录下进行设置。只需在此处指定类型库的位置即可。

于 2016-03-18T05:49:13.830 回答
3

您必须生成 .tlb 文件。

/TLBOUT:[路径]文件名

在哪里

路径:应在何处创建 .tlb 文件的绝对或相对路径规范。

filename:指定 MIDL 编译器创建的 .tlb 文件的名称。假定没有文件扩展名;如果需要 .tlb 扩展名,请指定 filename.tlb。

评论

  1. /TLBOUT 选项指定 .tlb 文件的名称和扩展名。
  2. 在链接具有模块属性的项目时,Visual C++ 链接器调用 MIDL 编译器。
  3. 如果未指定 /TLBOUT,.tlb 文件将从 /IDLOUT 文件名中获取其名称。如果未指定 /IDLOUT,.tlb 文件将被称为 vc70.tlb。

在 Visual Studio 开发环境中设置此链接器选项

  • 打开项目的属性页对话框。有关详细信息,请参阅设置 Visual C++ 项目属性。

  • 单击链接器文件夹。

  • 单击嵌入式 IDL 属性页。

  • 修改类型库属性。

于 2013-10-24T06:14:19.580 回答
1

您可以在命令行中为“(.tlb)文件”指定正确的名称:

midl <your>.idl /tlb <any>.tlb
  1. 打开项目的“属性页”对话框。有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
  2. 单击构建事件文件夹。
  3. 单击预构建事件属性页面。
  4. 修改命令行属性。
回声 === 日志 ===
cd "$(项目目录)"
midl.exe DocOutPPML.idl /tlb DocOutPPML.tlb
cd "$(目标目录)"
回声 ===
于 2019-07-04T06:58:54.830 回答