2013-01-19 3 views
3

Я пытаюсь интегрировать TinyXML version 2 в проект, но поскольку TinyXML настолько крошечный (ха!), Он не был упакован в статическую или динамическую библиотеку. Предоставляется только заголовок и источник. Я получаю ошибки компоновщика, потому что компилятор не может найти исходный файл для связи с заголовком (они находятся в одном месте).C++, связывающий заголовок и источник третьей стороны

Есть ли способ связать источник третьей стороны с проектом без необходимости его копирования в локальное пространство проекта?

ИЛИ

Должен ли я вручную создать файл библиотеки (содержащий один исходный файл) и просто использовать, чтобы обойти эту проблему (даже если источник не меняется хорошая причина, чтобы упаковать его, это кажется излишним для одного файла)?

[См тэги]

ответ

1

Поскольку вы не хотите его в локальном пространстве проекта, вы, кажется, рассматривая его в качестве библиотеки, по крайней мере концептуально.

Создайте файл библиотеки один раз и больше не волнуйтесь об этом.

Количество исходных файлов в библиотеке не должно касаться вас.

0

Включить tinyxml2.cpp вместо tinyxml2.h. Или вы можете построить .lib файл, включают в себя .h файл и сказать компоновщик использовать ваш .lib

0

В качестве альтернативы, создать специальную статическую библиотеку, просто #including файлы .cpp в одном ЕП. Это может быть недооценено некоторыми, но это простое решение, которое также имеет свои преимущества.

Смежные вопросы