CMake — совпадают одинаковые имена файлов в двух библиотеках

Я разрабатываю проект Oculus, основанный на этой структуре:
https://github.com/OculusRiftInAction/OculusRiftInAction

Я добавил в него библиотеку wiiuse из rpavlik. https://github.com/rpavlik/wiiuse

В обоих проектах существует файл с именем «IO.h». После генерации проекта XCode с помощью CMake я получаю ошибку в коде OculusRiftInAction в файле «opengl / Font.cpp». Он извлекает файл «IO.h», но это файл из библиотеки wiiuse. Я не могу понять, как извлечь файл «IO.h» из исходного местоположения в платформе OculusRiftInAction.

Я подозреваю, что это общий вопрос CMake или XCode. Кто-нибудь знает это?

ФИКСИРОВАННЫЙ:

Я сделал статическую библиотеку wiiuse, которая как-то исправила проблему. Но я не знаю, почему он это исправил. Я все еще могу использовать библиотеку, но она больше не переопределяет файл IO.h в основном коде.

0

Решение

Не размещайте сторонние библиотечные заголовки непосредственно в пути поиска заголовков вашего компилятора. Поместите их за каталог, который указывает библиотеку, из которой они. Например, wiiuse заголовки, вероятно, должны находиться в каталоге с именем wiiuse, а также тот Каталог должен быть в пути поиска. Таким образом, чтобы включить "IO.h" заголовок от него, вам нужно будет сделать это:

#include <wiiuse/IO.h>

Если вы не знаете, как разбираться с путями поиска, используя XCode, я тоже. Но, возможно, этот вопрос поможет вам.

4

Другие решения


По вопросам рекламы [email protected]