Как правильно настроить CHAI3D с проектом SDL в Visual Studio 2013

В настоящее время я работаю над проектом, который использует следующие библиотеки: SDL2, SDL_ttf, SDL_image, SDL_mixer и CHAI3D. Используя библиотеки по отдельности, код отлично работает на VS2013. Однако, когда я пытаюсь использовать обе библиотеки в одном проекте, возникает много ошибок. Мне удалось настроить библиотеки SDL, добавив их файлы include и lib в каталоги VC ++. Я пытаюсь добавить #include "chai3d.h" в этот проект, который я поместил в chai3d-3.1.0 \ examples .... \ Project \ c ++ files. Что возвращает:

фатальная ошибка C1083: не удается открыть включаемый файл: 'chai3d.h': нет такого файла или каталога

Итак, я добавляю в Свойства> Свойства конфигурации> Каталоги VC ++> подключаемые каталоги Путь (../chai3d/src) к папке, которая включает файл "chai3d.h". Это переходит к двум следующим ошибкам:

фатальная ошибка C1083: не удается открыть включаемый файл: 'Eigen / Eigen': нет такого файла или каталога

Я нахожу этот файл в chai3d / external / (Eigen / Eigen) и добавляю его в каталоги include, и получается:

фатальная ошибка C1083: не удается открыть включаемый файл: 'GL / glew.h': нет такого файла или каталога

Обратите внимание, что комментирование строк включения или добавление пути из внешней папки решило бы проблему C1083, но привело бы к тому, что объекты chai3d не распознавались, такие как cHapticDeviceHandler. Вот часть моих журналов:

ошибка C2062: введите непредвиденную ошибку с плавающей точкой C2146

ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание: C ++ не поддерживает default-int

ошибка C2086: 'int cVector3d': переопределение см. объявление 'cVector3d'

ошибка C2143: синтаксическая ошибка: отсутствует ',' перед '&'

ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором ch_computeForceSphere

ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание: C ++ не поддерживает default-int

ошибка C2086: 'int cVector3d': переопределение

ошибка C2143: синтаксическая ошибка: отсутствует ',' перед '&' ...

Буду очень благодарен за любые подсказки, как решить эту проблему.


person SuperKogito    schedule 07.09.2017    source источник


Ответы (1)


Поэтому я не уверен в полезности использования обеих библиотек (SDL и CHAI3D) вместе, поскольку их объединение для создания полезного кода кажется слишком сложным. Однако после некоторых исследований мне удалось найти способ сделать это:

  1. Сначала вам нужно настроить проект chai3d, а не просто использовать его из папки примеров, это можно сделать, следуя инструкциям по этой ссылке: CHAI3D: создание приложения.
  2. Затем вам нужно настроить библиотеки SDL обычным способом, добавив их файлы include и lib в разделе «Свойства»> «Свойства конфигурации»> «Каталоги VC ++»> «Включить каталоги / каталог библиотек».

  3. Наконец, добавьте зависимости в Properties> Linker> Input> Additional Dependencies, например, в случае SDL2 вы добавите следующее:

SDL2.lib
SDL2Main.lib

Постарайтесь быть осторожными с путем SDL и нужно ли вам:

 #include <SDL.h>
 or
 #include <SDL2/SDL.h>
person SuperKogito    schedule 15.09.2017