我正在使用第三方库开始一些工作,并且在 Visual Studio 2010 中构建它时,我注意到我多次收到此链接器警告(LNK4221)。我查看了用于创建被链接的目标文件的源代码,发现这些文件的所有实现都位于头文件中。有趣的是,我还注意到该项目包含相应的 .cpp 文件,其中仅包含一个 #include 用于实现的标头。
我很好奇 - 这有什么意义,我为什么要使用这种技术?如果 .cpp 文件没有为项目增加任何价值,为什么我不应该删除它们以摆脱链接器警告?
我尝试搜索类似的问题,但没有找到任何感兴趣的内容。如果您知道任何,请链接它们。