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