|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.06.2016, 12:32 | #1 |
Пользователь
Регистрация: 08.06.2016
Сообщений: 11
|
Подключение библиотеки к Visual Studio C++
Доброго времени суток!
Я пишу проект на C++ и использую библиотеку SFML 2.3.2 C++(Она работает нормально) Также использую Windows XP и Visual Studio 2010 C++(!) Понадобилась новая дополнительная внешняя библиотека sfml-tmx-loader. Загрузил её с гитхаба. Пробую подключить к проекту - ошибок компиляции > 100! (Привожу ошибки) В readme указанно, что минимальные требования: C++11. Очень бы хотелось, чтобы проблема оказалась в версии Студии или Windows. Но скорее всего дело всё-таки в неправильном подключении sfml-tmx-loader или zlib. Я подключал так: 0) Загрузил скомпилировынный zlib с офф сайта сюда: C:\Libs\zlib128 1) Загрузил sfml-tmxloader сюда C:\Libs\sfml-tmxloader В проекте Visual Studio: 2) проект - свойства *название* - C/C++ - общие - дополнительные каталоги включаемых файлов: C:\Libs\SFML-2.3.2\include;C:\Libs\sfml-tmxloader\include;C:\Libs\zlib128\i nclude 3) проект - свойства *название* - компоновщик - общие - дополнительные каталоги библиотек: C:\Libs\SFML-2.3.2\lib;C:\Libs\zlib128\lib 4) проект - свойства *название* - компоновщик - ввод: zdll.lib;sfml-graphics-d.lib;sfml-window-d.lib;sfml-system-d.lib;sfml-audio-d.lib;(далее идут стандартные включаемые файлы, я их не изменял) 5) проект - существующий элемент: через "Обзор" подключаю все файлы из C:\Libs\sfml-tmxloader\include 6) проект - существующий элемент: через "Обзор" подключаю все файлы из C:\Libs\sfml-tmxloader\src 7) проект - существующий элемент: через "Обзор" подключаю все файлы из C:\Libs\zlib128\include 8) проект - существующий элемент: через "Обзор" подключаю файл zdll.lib из каталога C:\Libs\zlib128\lib 9) Файл zlib1.dll из папки C:\Libs\zlib128 скопировал в папку с выходным exe-файлом. (D:\Мои документы\Visual Studio 2010\Projects\sfmltest2\Debug) Нажимаю F5 получаю море ошибокпривести все ошибки не получится - не позволяет форум) 1>------ Построение начато: проект: sfmltest2, Конфигурация: Debug Win32 ------ 1>Построение начато 31.05.2016 22:58:25. 1>InitializeBuildStatus: 1> Обращение к "Debug\sfmltest2.unsuccessfulbuild" . 1>ClCompile: 1> main.cpp 1>c:\libs\sfml-tmxloader\include\tmx\mapobject.h(7 1): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\mapobject.h(1 89): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\quadtreenode. h(83): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\maplayer.h(41 ): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\maplayer.h(55 ): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\maplayer.h(95 ): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 4): error C2332: enum: отсутствует имя тега 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 5): error C2236: непредвиденные "class" "tmx::MapOrientation". Возможно, отсутствует ";" 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 5): error C3381: tmx::MapOrientation: спецификаторы доступа к сборке доступны только в коде, скомпилированном с параметром /clr 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 6): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 7): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 9): error C2143: синтаксическая ошибка: отсутствие ";" перед "}" 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(4 9): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию 1>c:\libs\sfml-tmxloader\include\tmx\maploader.h(5 1): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1> tmx2box2d.cpp 1>c:\libs\sfml-tmxloader\include\tmx\mapobject.h(7 1): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\mapobject.h(1 89): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\tmx2box2d.h(3 9): fatal error C1083: Не удается открыть файл включение: Box2D/Dynamics/b2World.h: No such file or directory 1> QuadTreeNode.cpp 1>c:\libs\sfml-tmxloader\include\tmx\mapobject.h(7 1): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\mapobject.h(1 89): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\include\tmx\quadtreenode. h(83): error C2470: final: выглядит как определение функции, но без списка параметров; пропускается вероятное тело функции 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(53): error C2027: использование неопределенного типа "tmx::QuadTreeRoot" 1> c:\libs\sfml-tmxloader\include\tmx\quadtreenode. h(83): см. объявление "tmx::QuadTreeRoot" 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(55): error C2065: m_objects: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(55): error C2228: выражение слева от ".clear" должно представлять класс, структуру или объединение 1> тип: 'unknown-type' 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(56): error C2065: m_children: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(56): error C2228: выражение слева от ".clear" должно представлять класс, структуру или объединение 1> тип: 'unknown-type' 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(57): error C2065: m_bounds: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(58): error C2065: m_debugShape: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(58): error C2228: выражение слева от ".setPosition" должно представлять класс, структуру или объединение 1> тип: 'unknown-type' 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(59): error C2065: m_debugShape: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(59): error C2228: выражение слева от ".setSize" должно представлять класс, структуру или объединение 1> тип: 'unknown-type' 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(61): error C2065: m_searchDepth: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(62): error C2065: m_depth: необъявленный идентификатор 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(79): error C2143: синтаксическая ошибка: отсутствие "," перед ":" 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(79): error C2530: child: ссылки должны быть инициализированы 1>c:\libs\sfml-tmxloader\src\quadtreenode.cpp(79): error C3531: child: символ, тип которого содержит спецификатор "auto" должен иметь инициализатор |
18.06.2016, 12:46 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Скорее всего в VS 2010 недостаточно С++11, судя по первым ошибкам.
VS11 == VS2012
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.06.2016, 13:11 | #3 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
18.06.2016, 14:28 | #4 |
Пользователь
Регистрация: 08.06.2016
Сообщений: 11
|
Да, спасибо. Хотя я читал у майкрософта документацию по VS 2010, видимо не понял, что С++ 11 не поддерживается. Буду сегодня устанавливать Windows 7. Какую новую студию из подходящих лучше взять? На выбор, как я понимаю VS 11, 12, 13, 15.
|
18.06.2016, 15:44 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В студии номера не соответствуют годам.
10 == 2010 11 == 2012 12 == 2013 14 == 2015 15 не существует. Из С++11 в 2010 очень малая часть есть, дальше лучше. http://en.cppreference.com/w/cpp/compiler_support В ридми проекта ж написано, что в 2012 работает, так что минимум ее. А так конечно лучше 2015. Там еще есть бесплатное Community издание (аналог Про)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
25.06.2016, 13:39 | #6 |
Пользователь
Регистрация: 08.06.2016
Сообщений: 11
|
Всем спасибо!
Проблема решена: Я установил Visual Studio 2015 Community. Попробовал подключить проблемную библиотеку tmx-map-loader. Выскочило всего пара ошибок связанных с кодировками. Тогда я в Проект - свойства "имя проекта" - свойства конфигурации - основные - набор символов - переключил с многобайтовой кодировки на кодировку Юникод. Всё заработало без ошибок. PS: Пользователям Windows XP с подобной проблемой придётся переходить хотя бы на Windows 7 (чтобы установить подходящую версию Студии). |
25.06.2016, 17:20 | #7 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
28.06.2016, 13:35 | #8 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
28.06.2016, 14:47 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не, сама студия не встанет на ХР. Речь вроде не о пользователях программы автора.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение ansys в visual studio | elf01 | Visual C++ | 0 | 27.12.2014 20:07 |
Подключение бд Oracle к ms visual studio 2010 на c#. | dima1257 | C# (си шарп) | 3 | 18.12.2013 16:42 |
Подключение БД - отсутствует DataBase (Visual Studio C++) | oasis | Помощь студентам | 1 | 14.12.2011 18:53 |
библиотеки в visual studio | VAnj2607 | Visual C++ | 4 | 14.04.2011 10:04 |
Установка библиотеки в Microsoft Visual Studio 9.0 | blackox | Помощь студентам | 0 | 07.07.2010 12:58 |