У меня есть исходный файл CPP, который использует # if / # endif для полной компиляции в определенных сборках. Однако при этом выдается следующее предупреждение.
warning LNK4221: no public symbols found; archive member will be inaccessible
Я думал о создании макроса для генерации фиктивной переменной или функции, которые фактически не будут использоваться, поэтому эта ошибка исчезнет, но я хочу убедиться, что она не вызывает таких проблем, как использование макроса в нескольких файлы, вызывающие бомбардировку линкера на несколько определенных символов.
Каков наилучший способ избавиться от этого предупреждения (без простого подавления предупреждения в командной строке компоновщика)?
FWIW, мне было бы интересно узнать, как это сделать, подавив предупреждение в командной строке компоновщика, но все мои попытки там просто игнорируются компоновщиком и по-прежнему генерируют ошибку.
Еще одно требование: исправление должно быть в состоянии противостоять сборкам отдельных файлов или сборке Unity (объединить сборки файлов CPP), поскольку одна из наших конфигураций сборки - это массовая сборка (например, сборка Unity, но группы групповых файлов вместо один главный файл единства).