Joe*_*ane 7 c++ header include
我正在使用第三方库开始一些工作,当在Visual Studio 2010中构建它时,我注意到我多次收到此链接器警告(LNK4221).我查看了创建链接的目标文件时使用的源代码,发现这些源代码文件的所有实现都位于头文件中.有趣的是,我还注意到该项目包含相应的.cpp文件,其中只包含带有实现的标头的#include.
我很好奇 - 这是什么意思,为什么我要使用这种技术?如果.cpp文件没有向项目添加任何值,为什么我不应该删除它们以摆脱链接器警告?
我试着寻找类似的问题,但没有找到任何有趣的东西.如果您知道,请链接他们.
我用它来确保标头至少位于第一个位置包含的一个文件中。通过这样做,我确保标头可以自行编译。
为了使链接器不发出警告,可以使用具有非常大变量的外部变量:
int variable_with_a_name_that_includes_the_file_name_somehow = 42;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |