“链接器”属性页
更新:2007 年 11 月
本主题论述“常规”链接器属性页上的下列属性:
忽略导入库
通知链接器不要试图将任何从此生成产生的 .lib 输出链接到依赖项目中。这允许项目系统处理生成时不产生 .lib 文件的 .dll 文件。如果一个项目依赖另一个产生 DLL 的项目,项目系统将自动链接该子项目产生的 .lib 文件。这对产生 COM DLL 或纯资源 DLL 的项目可能不是必需的,这些 DLL 没有任何具有特定意义的导出。如果 DLL 没有导出,链接器将不生成 .lib 文件。如果磁盘上不存在导出 .lib 文件,而项目系统通知链接器链接此(缺少的)DLL,链接将失败。使用“忽略导入库”解决此问题。当设置为 Yes 时,项目系统将忽略此 .lib 文件是否存在,并使依赖该项目的任何项目不链接到不存在的 .lib 文件。
若要以编程方式访问此属性,请参见 IgnoreImportLibrary。
注册输出
运行 regsvr32.exe /s $(TargetPath),它仅在 .dll 项目上有效。对于 .exe 项目,忽略该属性。如果要注册 .exe 输出,在配置上设置生成后事件,以执行已注册的 .exe 文件始终要求的自定义注册。若要以编程方式访问此属性,请参见 RegisterOutput。
每个用户的重定向
传统上在 HKEY_CLASSES_ROOT (HKCR) 中完成 Visual Studio 中的注册。要使用 Windows Vista 访问 HKCR,您必须在提升模式下运行 Visual Studio。开发人员并非总是需要在提升模式下运行,但是仍必须进行注册。每用户的重定向允许您无需在此模式下运行即可注册。每用户的重定向会强制将针对 HKCR 的任何写入重定向到 HKEY_CURRENT_USER (HKCU)。如果关闭每用户的重定向,则当程序尝试写入 HKCR 时可导致项目生成错误 PRJ0050。
链接库依赖项
为您提供在依赖项目所生成的 .lib 文件中进行链接的选择。您通常需要在 .lib 文件中进行链接。使用库依赖项输入
在一个大项目中,当依赖项目生成 .lib 文件时,增量链接是被禁用的。如果有许多生成 .lib 文件的依赖项目,则生成应用程序会花很长时间。当该属性设置为 Yes 时,项目系统在依赖项目所生成的 .lib 文件的 .obj 文件中进行链接,从而启用增量链接。
有关如何访问“常规”链接器属性页的信息,请参见如何:用属性页指定项目属性。