您可以使用“/Save”和“/Load”选项分别存储和加载静态库的源信息。使用这些选项可以为您的库存储信息,然后在索引链接到您的库的项目时将其导入。
在为您的库解决方案编制索引时,您可以使用目录指定“/Save”标志,在该目录中存储有关库的源文件的索引信息。例如(假设您使用 Subversion 进行源代码控制),
ssindex.cmd /System=SVN /Save=c:\source\libproj\srcinfo /Source=c:\source\libproj /Symbols=c:\source\libproj\Release\*.pdb
稍后为包含您的库的项目建立索引时,您可以使用包含库的源文件信息的目录指定“/Load”标志。例如,
ssindex.cmd /System=SVN /Load=c:\source\libproj\srcinfo /Source=c:\source\binproj /Symbols=c:\source\binproj\Release\*.pdb
有两个潜在问题可能会影响您使用此技术的能力。首先,似乎某些源代码控制提供者可能不支持保存和加载源代码控制信息。我知道 Subversion 提供程序确实如此,并且看起来像 SourceSafe 提供程序那样,但我没有检查任何其他提供程序。
其次,这种技术似乎只适用于一个开箱即用的外部静态库。似乎没有办法从多个目录加载信息,并且每次使用“/Save”选项时脚本当前都会覆盖目录的内容。您可能可以编辑源代码控制提供程序模块以附加到保存目录中的文件而不是覆盖它们,但我还没有尝试过。
另外,请注意,如上所述,如果您的库是作为单独解决方案的一部分构建的,则仅需要执行此操作。如果静态库是您正在索引的解决方案的一部分,那么如果它们位于“/Source”选项指定的路径中,则将包含其源文件。