0

Как использовать библиотеку c в большой кодовой базе C++?Предварительно скомпилированный заголовок из предыдущей версии компилятора

Я нашел несколько полезных c library, а так как c и C++ совместимы, это потрясающе для меня. У меня есть эта большая база кода со многими проектами, и я хочу использовать эту библиотеку в одном из проектов.

Так я построил библиотеку на диск С, и после этого я просто поместил его в папку с проектом я хочу использовать его с, изменены ссылки в свойствах проекта целевой эту библиотеку и т.д.

После этого я вызывается из одной функции CPP файлов в моем send.c файл, который включал некоторые файлы библиотек, и получил сообщение об ошибке во время строительства

Precompiled header is from previous version of compiler 

Так что я хотел спросить:

  1. Должен ли я Буй ld отдельно, или это нормально делать так, как я?
  2. Как исправить эти ошибки? (Я пытался перейти с .c на .cpp, но библиотека, чем на множество ошибок)
  3. Куда мне помещать библиотеку? Есть ли хорошие соглашения? С тех пор сейчас он вставлен рядом с проектом.
  4. Как можно, если предыдущий компиляция повлияет на новую сборку?! Разве это не просто перекомпилирует его снова?
  5. В этой большой кодовой базе я не вижу, чтобы многие библиотеки были настолько автономными, как этот. Могу ли я каким-то образом превратить его в один .lib-файл и как-то использовать его проще, просто импортировав его? Поскольку я не буду менять его, он всегда будет использоваться только для отправки сообщений. И, как это, есть множество вещей, которые необходимо настроить в каждом проекте, который будет использовать его, возможно, в будущем.

Спасибо!

Примечание 1: Я использую Visual Studio 2015 для Windows Server 2012 R2.

+1

_and, так как c и C++ совместимы, это потрясающе для me_, плохая новость: это false :( –

+0

Создайте все, используя тот же компилятор.Иногда даже комбинация пакетов обновлений не работает с предварительно скомпилированными заголовками. – drescherjm

+0

*** Разве это не просто прекомпилят его снова? *** Это можно сделать, если вы удалите старые файлы '.pch'. – drescherjm

ответ

0

Fixed это по следующей схеме:

  1. Выключено скомпилированные заголовки
  2. Удаляется файл .PCH

Так как это не фиксируя ошибки я сделал некоторые несколько вещей:

  1. Изменено расширение send.c отправить.cpp
  2. Свойства-> C/C++ -> дополнительно->Вкомпилировать качестве С кода (/ TC)
  3. Свойства-> Общие-> набор символов изменен на Многобайтовые Набор символов

И это исправлено моей проблемой :)