|
|
1
1
您可以强制符号仅位于一个文件中,例如:
然后在一个框架cpp中,在包含头之前定义宏。 现在,如果您需要导出符号(主要是Windows,但也包括隐藏可见性的Linux/macOS),那么它会变得有点棘手,因为您需要另一个全局标志来说明您是否在框架中并激活导出/导入属性。
|
|
|
2
1
那么:
然后编写一个ODR使用您的定义的.cpp
对于C++17,也可以使用内联变量而不是函数:
|
|
|
Flying Hat · 写入仅标头的模板库时出现“多重定义”错误 11 年前 |