Nuget and C++ PDB



我正在为我编译的静态库创建我自己的c++ nuget包(使用/Zi)。我将库的.pdb与.lib一起添加到nuget包中,但在构建应用程序时不能包含它。我得到这个链接错误:

警告LNK4204: 'xxxReleasevc110. 'Pdb '缺少用于引用模块的调试信息;链接对象,如果没有调试信息

我如何指示VisualStudio,通过与nuget一起发布的。targets或。props文件,它应该在哪里找到。pdb?

很明显,.lib中嵌入的路径在我的机器上不存在。

用/Z7编译静态库是唯一的选择吗?

感谢

我们可以看到:链接器工具警告LNK4204

LNK4204可以在库中的一些对象引用一个不再存在的文件时发生。例如,在重建解决方案时可能会发生这种情况;由于编译错误,目标文件可能被删除而不能重新构建。在这种情况下,使用/Z7或/Fd进行编译,以更新对象以引用每个库的单个文件(这不是默认的.pdb文件名)。有关更多信息,请参见/Fd(程序数据库文件名)。确保.pdb每次在源代码管理系统中更新时都与库一起保存。

编译/Z7或/Fd解决这个问题吗?你也可以看到这个链接,希望它能帮助你。

最新更新