Я знаю, что многие задавали этот вопрос, но выполнение предложенных вещей мне не помогло. Поэтому я подумал, что буду просить о помощи, потому что я явно что-то упускаю.
Я провел последние пару дней за написанием кода, использующего библиотеку надстроек, который позволяет мне открывать текстовые файлы, переводить текст в пригодный для использования формат данных и сохранять данные в виде текстового файла, когда я закончу с ним. Я специально создал его, чтобы его можно было расширять для работы с различными типами данных (в частности, с любым объектом или классом, который я создаю), чтобы я мог ссылаться на него как на библиотеку в своем проекте, как и на другие библиотеки.
Однако даже после компиляции в библиотеку и добавления каталога библиотеки в «Дополнительные каталоги включения» я получаю неразрешенную внешнюю ошибку всякий раз, когда пытаюсь включить один из заголовочных файлов в библиотеку. Я также попытался указать прямой путь к нему в разделе «Дополнительные зависимости» (а также просто имя библиотеки с указанием пути к каталогу, заданному в разделе «Дополнительные каталоги включения» и «Дополнительные каталоги библиотеки»). Я также пробовал использовать только один из них на время так и не удалось).
Я что-то упускаю? Как я могу скомпилировать этот код, который я хотел бы использовать повторно и ссылаться на него в новых проектах, не копируя каждый раз файлы cpp и h в мое решение? Будет ли DLL работать лучше / проще? Если да, то как мне скомпилировать его как dll и связать с ним?
Спасибо за чтение этой стены текста. Любая помощь, которую вы могли бы оказать, была бы великолепна.
Хорошо. Хотя это не точное решение, к которому я стремился, мне удалось выяснить это. Для тех, кто сталкивается с этой проблемой, есть замечательный учебник, который объясняет, как создавать файлы DLL и как их использовать (по крайней мере, в Windows, у вас пока нет компьютеров, использующих альтернативную ОС, для тестирования DLL). Вы можете найти это здесь.
http://programmingexamples.wikidot.com/blog:1
Суть проблемы заключается в том, что вам также необходимо иметь копию файла .h, удобную для включения в ваш проект. (что я сделал, так это создал на своем диске C каталог, в котором хранятся библиотеки, которые я делаю, и в котором у меня есть папка для файлов .lib и папка для файлов .h.) Или импортируйте файл .h напрямую в каталог вашего проекта или добавьте его в свойства вашего проекта (C ++ -> Общие -> Дополнительные каталоги включения). Убедитесь, что вы ссылаетесь на каталог, а не на сам файл. В компоновщике вам нужно добавить свой .lib-файл в раздел Дополнительные зависимости (Компоновщик -> Ввод -> Дополнительные зависимости). Вы можете указать здесь полный путь или просто указать имя файла, а затем сообщить программе, где найти каталог, в котором он находится (добавьте путь к каталогу в Linker -> General -> Additional Library Directories).
Надеюсь, что это поможет кому-то еще, кому удалось пропустить что-то, что все остальные, кажется, понимают инстинктивно: P
Других решений пока нет …