После поиска Google в течение нескольких дней, я, наконец, отказался от поиска решения этой проблемы и взорвал разработчика VS, который дал мне обходной путь для этой проблемы (на самом деле, я попробовал один баджон для себя, чтобы найти это).
По-видимому, IDE недостаточно умен, чтобы понять, что вы отключили сборку для конкретной библиотеки в заданной конфигурации и не добавляли вывод этого проекта в командную строку компоновщика для проектов, зависящих от нее. Я уверен, что вы об этом знаете.
Однако, поскольку он просто вставляет выходную строку из проекта библиотеки в командную строку зависимого проекта, установка выходной строки на «" приведет к добавлению NOTHING в командную строку компоновщика на зависимые проекты!
Надеюсь, эта проблема будет исправлена в Visual Studio в будущем. Я остаюсь оптимистом, потому что это моя любимая IDE, и меня всегда впечатляют поддерживаемые ею функции. Однако некоторые из потоков поддержки VS, которые я видел, говорят, что эта ошибка «по дизайну», поэтому, возможно, они не исправят ее. Тем не менее, это довольно легко сделать.
В любом случае, чтобы подвести итог:
- Щелкните правой кнопкой мыши на библиотечный проект в обозревателе решений и нажмите кнопку «Свойства».
- Переключитесь на пару «Конфигурация/Платформа», для которой не создан проект библиотеки.
- Выберите «Свойства конфигурации -> Библиотекарь -> Общие».
- Для «Выходного файла» введите «» (это открытые парсеры, пробел, закрытие parens).
- Нажмите OK.
Обратите внимание, что это обходное решение даст вам ошибки, если вы создадите или очистите проект библиотеки с ограниченными возможностями. Если вы просто создадите свое решение, оно будет пропущено при отключенных конфигурациях, поэтому вы не получите ошибок.
Надеюсь, это поможет!
Daniel
Спасибо, это здорово! Другое дело. Если зависимость, которую вы связываете, является DLL, вы также можете указать имя библиотеки импорта «», и она будет проигнорирована. Этот параметр находится в Linker-> Advanced-> Import Library. – k0dek0mmand0