Получение CImg для работы в XCode

Я пытаюсь заставить CImg (1.6.8) работать в XCode (7.2) под управлением OSX 10.11.2.

#include <iostream>
#include "CImg.h"

int main(int argc, const char * argv[]) 

{

std::cout << "Hello, World!\n";
return 0;

}

ОШИБКИ:

Использование необъявленного идентификатора LC_COLLATE_MASK.

Неизвестное имя типа 'locale_t'; ты хотел сказать "локаль"?

Далее следует длинный список ошибок, связанных с неизвестными именами типов, необъявленными идентификаторами и слишком большим количеством аргументов.

ОШИБКИ

Для простоты CImg.h и X11 находятся в папке проекта и являются явным путем поиска, но у меня есть различные нерешенные зависимости:

Есть ли общий метод добавления практически любой библиотеки для интеграции в Xcode?

Как и где будут разрешаться эти зависимости?

Дополнительная информация :

Настройки проекта для включаемых каталогов являются рекурсивными для папки X11. Пробовал с 32-битными и 64-битными конфигами.


person HBez    schedule 17.01.2016    source источник
comment
Не публикуйте изображение своего кода, публикуйте свой код и ошибки, которые вы получаете в вопросе, в виде текста.   -  person Baum mit Augen    schedule 18.01.2016


Ответы (1)


Во-первых, вам нужно сообщить Xcode, где находятся ваши файлы заголовков, а именно CImg.h.

введите здесь описание изображения

Для этого сначала нажмите на область, отмеченную красным, затем на зеленую, затем на синюю и в поле Header Search Paths введите каталог, содержащий файл CImg.h.

Обычно вам нужно настроить Library Search Paths непосредственно ниже и библиотеки для ссылки. Но поскольку CImg — это библиотека только для заголовков, в данном конкретном случае в ней нет необходимости.

Наконец, я вставил одну строку кода, чтобы избежать всего, что связано с X11, поскольку OSX больше не поставляется с X11, а ваш код все равно не выполняет никаких действий с X11.

#include <iostream>

#define cimg_display 0

#include "CImg.h"

int main(int argc, const char * argv[])
{

    std::cout << "Hello, World!\n";
    return 0;
}

Теперь он работает нормально, как вы можете видеть в нижней части снимка экрана.

Надеюсь, это поможет.

person Mark Setchell    schedule 28.05.2016