Как использовать библиотеку c в большой кодовой базе C++?Предварительно скомпилированный заголовок из предыдущей версии компилятора
Я нашел несколько полезных c library, а так как c и C++ совместимы, это потрясающе для меня. У меня есть эта большая база кода со многими проектами, и я хочу использовать эту библиотеку в одном из проектов.
Так я построил библиотеку на диск С, и после этого я просто поместил его в папку с проектом я хочу использовать его с, изменены ссылки в свойствах проекта целевой эту библиотеку и т.д.
После этого я вызывается из одной функции CPP файлов в моем send.c файл, который включал некоторые файлы библиотек, и получил сообщение об ошибке во время строительства
Precompiled header is from previous version of compiler
Так что я хотел спросить:
- Должен ли я Буй ld отдельно, или это нормально делать так, как я?
- Как исправить эти ошибки? (Я пытался перейти с .c на .cpp, но библиотека, чем на множество ошибок)
- Куда мне помещать библиотеку? Есть ли хорошие соглашения? С тех пор сейчас он вставлен рядом с проектом.
- Как можно, если предыдущий компиляция повлияет на новую сборку?! Разве это не просто перекомпилирует его снова?
- В этой большой кодовой базе я не вижу, чтобы многие библиотеки были настолько автономными, как этот. Могу ли я каким-то образом превратить его в один .lib-файл и как-то использовать его проще, просто импортировав его? Поскольку я не буду менять его, он всегда будет использоваться только для отправки сообщений. И, как это, есть множество вещей, которые необходимо настроить в каждом проекте, который будет использовать его, возможно, в будущем.
Спасибо!
Примечание 1: Я использую Visual Studio 2015 для Windows Server 2012 R2.
_and, так как c и C++ совместимы, это потрясающе для me_, плохая новость: это false :( –
Создайте все, используя тот же компилятор.Иногда даже комбинация пакетов обновлений не работает с предварительно скомпилированными заголовками. – drescherjm
*** Разве это не просто прекомпилят его снова? *** Это можно сделать, если вы удалите старые файлы '.pch'. – drescherjm