使用 XCode 4.2 编译 crypto++ 时,我收到多个警告,“extern templates are a c++11 extension”的所有实例。这是什么意思,这会影响输出可执行文件的兼容性吗?
声明一个模板“extern”意味着编译器不应该在这个翻译单元中实例化一个给定的模板,因为它已经在另一个翻译单元中被实例化了。这样做是为了减少编译时间。
此功能已添加到 C++11,因此实际上并未指示在 C++11 模式下运行但意识到该问题的编译器可能会生成类似于您所看到的警告。
参考。维基百科。