Итак, я пытаюсь создать свою собственную библиотеку на C++ и использовать ее в другом проекте. Пока он работает с примером кода, но я должен включить другие библиотеки в свою собственную библиотеку. Поэтому проблема заключается в том, что когда я включаю файлы заголовков из моей библиотеки, включенные пути в файлах заголовков перепутаны. Простым решением было бы добавить каталоги поиска, но я не думаю, что вот как это должно быть разрешено.C++ Библиотека с вложенными включает
Пример кода - Библиотека файл заголовка:
#include <GL/glew.h>
#include <GLFW/glfw3.h>
int test();
Исходный файл:
#include "sample.h"
int test() { return 20; }
Сейчас проект, в котором я хочу, чтобы включить образец
#include <sample.h>
int main() { int a = test(); }
Проблема заключается в том , что include копирует код из sample.h непосредственно в main.cpp и каталоги поиска для ot ее включения из образца.h больше не определены
Wow спасибо, это именно то, что я искал. Еще одна вещь: пока я создаю проект, который связан с моей машинной библиотекой, мне нужно также соединить все другие библиотеки (glew32d, opengl32 и т. Д.) Есть ли решение, в котором они автоматически связаны? –
Хм, хороший вопрос. У меня была одна и та же проблема, и я просто связываюсь с зависимостями. В случае чего-то открытого источника, такого как glew, вы можете просто включить его источник в свою библиотеку и построить целую партию в одну (хотя это может быть против их лицензии, я не проверял). Это невозможно для opengl32, хотя источник недоступен. Возможно, взгляните на http://stackoverflow.com/questions/5445023/c-can-you-build-one-static-library-into-another, хотя общий консенсус, похоже, связан с зависимостью, как Что ж. – jtedit