0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 5
1

Не получается установить SFML на Visual Studio 2013 32- разрядную

14.04.2015, 14:28. Показов 2489. Ответов 9
Метки нет (Все метки)

Пытаюсь установить SFML библиотеку в Visual Studio вначале пытался вот по этому видео https://youtu.be/CVYjVCuPuY4
В результате в тестовом примере 96 ошибок насколько я понял связь с библиотекой не установлена.
Затем всё сделал как на официальном сайте
В результате 3 ошибки :
Ошибка1error LNK2001: неразрешенный внешний символ ""public: static class sf::Color const sf::Color::Green" (?Green@Color@sf@@2V12@B)"C:\U sers\Александр\documents\visua l studio 2013\Projects\sfml_test\sfml_t est\Исходный код. objsfml_test

Ошибка2error LNK2001: неразрешенный внешний символ ""public: static class sf::RenderStates const sf::RenderStates:efault" (?Default@RenderStates@sf@@2V1 2@B)"C:\Users\Александр\docume nts\visual studio 2013\Projects\sfml_test\sfml_t est\Исходный код. objsfml_test

Ошибка3error LNK1120: неразрешенных внешних элементов: 2C:\Users\Александр\documents\ visual studio 2013\Projects\sfml_test\Debug\ sfml_test.exesfml_test

Ребят кто сталкивался с такими проблемами помогите пожалуйста.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Тестовый код.
 
#include
#include
 
int main()
{
 
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML Works");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
 
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
 
return 0;
}
И вообще посоветуйте с чего лучше начать изучение 2D программирования? (OpenGL, DX9 - 11, что то ещё...)
Так как я только учусь категория выбора должна оцениваться больше с точки зрения простоты кода.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2015, 14:28
Ответы с готовыми решениями:

Visual studio 2013 и SFML не получается настроить
Добрый день . Подскажите пожалуйста что не так я делаю …. Установил Visual studio 2013 скачал как...

Каков правильный порядок установки SFML v2.1 в Visual Studio 2013 Express for Desktop
Подскажите пожалуйста правильный порядок установки SFML 2.1 для Visual Studio 2013 Express for...

Не могу установить нормально Visual Studio 2013
Здравствуйте! Уже какой день бьюсь и всё никак не могу установить Visual Studio 2013. Скачивал...

FLTK как установить на Visual studio 2013
скачал с сайта архив fltk-1.3.2-source.tar.gz студия на англ языке у меня стоит как теперь его...

9
7165 / 6140 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
14.04.2015, 17:48 2
Архив для своей версии загрузил? Делай по описанию на их сайте, а не по ролику.
1
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 5
15.04.2015, 18:49  [ТС] 3
Всё sfml установил(помогло переименование в препроцессоре библиотеки static в dynamic).
Тестовый код (см выше) Нормально компилируется всё как положено.

Но при выполнении
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <SFML/Graphics.hpp>
 
int main()
{
    // Создаем главное окно приложения
    sf::RenderWindow window(sf::VideoMode(800, 600), "Pong");
 
    // Главный цикл приложения
    while(window.isOpen())
    {
        // Обрабатываем события в цикле
        sf::Event event;
        while(window.pollEvent(event))
        {
            // Кроме обычного способа наше окно будет закрываться по нажатию на Escape
            if(event.type == sf::Event::Closed || 
              (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape))
                window.close();
        }
 
        // Очистка
        window.clear();
        // Тут будут вызываться функции обновления и отрисовки объектов
        // Отрисовка
        window.display();
    }
 
    return 0;
}
Выскакивает:
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: __thiscall sf::String::String(char const *,class std::locale const &)" (__imp_??0String@sf@@QAE@PBDAB Vlocale@std@@@Z) в функции _main c:\Users\александр\documents\v isual studio 2013\Projects\PONG\PONG\ping pong.obj PONG
И так 12 раз.
0
lss
938 / 866 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
15.04.2015, 19:26 4
Цитата Сообщение от cefasolin Посмотреть сообщение
помогло переименование в препроцессоре библиотеки static в dynamic
Какой проект собираешь (debug, release)? Библиотеки какие подключил (для debug, для release, для static-debug, для static-release)?
Цитата Сообщение от cefasolin Посмотреть сообщение
Но при выполнении
Цитата Сообщение от cefasolin Посмотреть сообщение
Выскакивает:
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "__declspec(dllimport) public: __thiscall sf::String::String(char const *,class std::locale const &)" (__imp_??0String@sf@@QAE@PBDAB Vlocale@std@@@Z) в функции _main c:\Users\александр\documents\v isual studio 2013\Projects\PONG\PONG\ping pong.obj PONG
И так 12 раз.
Какое это выполнение? Это компиляция.
0
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 5
17.04.2015, 14:25  [ТС] 5
Справился так:
В компиляторе прописать всё как на официальном сайте, но в препроцессоре вместо SFML_STATIC прописываем SFML_DYNAMIC.

В папке sfml скопировать папку lib и вставить в папку lib твоего компилятора у меня путь такой C:/program files(86)/Microsoft Visual Studio 12.0/VC/lib.

В папке sfml скопировать папку include и вставить в папку include твоего компилятора
C:/program files(86)/Microsoft Visual Studio 12.0/VC/include

В папке sfml есть папка bin оттуда скопировать все .dll и положить в папку system у меня это C:/window/system плюс все скопированные .dll положить в папку debug твоего проекта(рядом с exe). У меня это С:/User/ Alexandr/Documents/Visual Studio 2013/projekts/SFML_уроки/debug/.

Может есть способ попроще но мне помог только этот.
0
1717 / 1347 / 576
Регистрация: 27.07.2012
Сообщений: 4,065
17.04.2015, 14:39 6
Цитата Сообщение от cefasolin Посмотреть сообщение
В папке sfml скопировать папку lib и вставить в папку lib твоего компилятора у меня путь такой C:/program files(86)/Microsoft Visual Studio 12.0/VC/lib.
В папке sfml скопировать папку include и вставить в папку include твоего компилятора
C:/program files(86)/Microsoft Visual Studio 12.0/VC/include
Достаточно было просто указать пути для библиотек и инклудов в настройках проекта.
0
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 5
17.04.2015, 16:21  [ТС] 7
Указывал, не помогало.

Добавлено через 54 минуты
Мне сказали, что: "Если вместо _STATIC подключать динамически, то на другом компе вроде бы не будет работать :/"
Это так???
0
1717 / 1347 / 576
Регистрация: 27.07.2012
Сообщений: 4,065
17.04.2015, 16:35 8
Цитата Сообщение от cefasolin Посмотреть сообщение
Если вместо _STATIC подключать динамически, то на другом компе вроде бы не будет работать
Будет работать, если вместе с программой перетащить все используемые ею dll.
0
lss
938 / 866 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
17.04.2015, 16:46 9
Цитата Сообщение от cefasolin Посмотреть сообщение
Мне сказали, что: "Если вместо _STATIC подключать динамически, то на другом компе вроде бы не будет работать :/"
Это так???
Если подключаешь статические либы (-s), то dll не нужны, которые ты:
Цитата Сообщение от cefasolin Посмотреть сообщение
скопировать все .dll и положить в папку system у меня это C:/window/system плюс все скопированные .dll положить в папку debug твоего проекта(рядом с exe).
Если подключаешь динамические либы (без -s), то нужно dll таскать с exe, при переносе на другой комп.
0
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 5
17.04.2015, 16:56  [ТС] 10
Понял спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 16:56
Помогаю со студенческими работами здесь

Не могу установить Visual Studio Express 2013 с обновлением 4
Не получается установить Visual Studio Express 2013 с обновлением 4 . Пишет ошибку , что для этой...

Не могу установить Visual studio 2013 express для Web
Не могу установить Visual studio 2013 express для Web (скачан с оф.сайта). Появляется сообщение:...

Некорректно удалил Visual Studio 2013. Не могу установить снова
Перенёс VS на другой диск - не смог переустановить. Удалил файлы - осталась проблема

Как установить и зарегистрировать Visual Studio 2013 Community без интернета?
Необходимо установить Visual Studio 2013 Community на компьютер, который не имеет выход в интернет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru