Ошибки при компиляции релизной версии

SFML и C++ Уроки \ Разработка игр Форумы SFML System, Window и другие вопросы Ошибки при компиляции релизной версии

В этой теме 16 ответов, 7 участников, последнее обновление Павел Букреев Павел Букреев 7 года/лет, 11 мес. назад.

Просмотр 15 сообщений - с 1 по 15 (из 17 всего)
  • Автор
    Сообщения
  • #357
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

    Я почитал туториал, подключил -s либы
    выставил SFML_STATIC
    в общем, сделал вроде бы все как полагается
    тем не менее, выдает одну ошибку при компиляции:
    “error LNK2001: unresolved external symbol “public: static class sf::RenderStates const sf::RenderStates::Default” (?Default@RenderStates@sf@@2V12@B)”
    возможно, кто-то знает, как решить эту проблему

    #359
    +1
    cefasolin
    cefasolin
    Участник
    Сообщений:34

    Зарегистрирован:
    14.04.2015

    Репутация:15

    У меня было то-же самое. Справился так:
    В компиляторе прописать всё как на официальном сайте, но в препроцессоре вместо 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/.

    Может есть способ попроще но мне помог только этот.

     

     

     

    #363
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

    Если подключать динамически, то на другом компе вроде бы не будет работать :/

    #365
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

    Благодарю)
    Не знаю, заработает ли на другом ПК, но хотя бы скомпилировалось)

    #369
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

    заработало! благодарю)

    #370
    cefasolin
    cefasolin
    Участник
    Сообщений:34

    Зарегистрирован:
    14.04.2015

    Репутация:15

    Вы проверили на разных ПК и всё работает?

    #371
    +1
    cefasolin
    cefasolin
    Участник
    Сообщений:34

    Зарегистрирован:
    14.04.2015

    Репутация:15

    По поводу работы на других ПК вот  фрагмент моей переписки
    Цитата Сообщение от cefasolin Посмотреть сообщение
    Мне сказали, что: “Если вместо _STATIC подключать динамически, то на другом компе вроде бы не будет работать :/”
    Это так???</div>

    Если подключаешь статические либы (-s), то dll не нужны, которые ты:

    <Цитата Сообщение от cefasolin Посмотреть сообщение</div>
    скопировать все .dll и положить в папку system у меня это C:/window/system плюс все скопированные .dll положить в папку debug твоего проекта(рядом с exe).</div>

    Если подключаешь динамические либы (без -s), то нужно dll таскать с exe, при переносе на другой комп.

    #372
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

    да, работает
    теперь понял

    #373
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:582

    Зарегистрирован:
    04.01.2015

    Репутация:106

    Молодцы) прикреплю к первому уроку по настройке эту тему

    #577
    +1
    MicroSDA
    MicroSDA
    Участник
    Сообщений:64

    Зарегистрирован:
    24.04.2015

    Репутация:22

    Либы имеют три категории  d, s , и просто .lib

    Для того чтобы убрать dll ки нужно в разделе Компоновщик; Ввод прописать все либы(все что есть в папке либ!!!) с препиской( Для релиз версии просто -s.lib)(Для дебаг версии s-d.lib) и закинуть их в папку с проектом где лежит main.cpp.

    В препроцессоре прописать SFML_STATIC.

    Почему все либы а не 3 -4(по крайне мере у меня так )  ? Каждая либа тянет за собой другую. Но libsndfile-1.dll и openal32.dll  должны быть обязательно !

    Извиняюсь если выше об это писали ))

    http://www.sfml-dev.org/tutorials/2.2/start-vc.php  Полный список иерархии либов (листать вниз ).

     

    #583
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

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

    #584
    +2
    MicroSDA
    MicroSDA
    Участник
    Сообщений:64

    Зарегистрирован:
    24.04.2015

    Репутация:22

    #include <SFML/Graphics.hpp>
    #include <SFML/Audio.hpp>
    //Для этих библиотек потребовалось вписать
    sfml-graphics-s.lib
    sfml-window-s.lib
    sfml-system-s.lib
    sfml-audio-s.lib
    opengl32.lib
    winmm.lib
    gdi32.lib
    ws2_32.lib
    glew.lib
    freetype.lib
    jpeg.lib
    openal32.lib
    sndfile.lib
    // Возможно есть и лишние, но у меня работает

    #589
    MVRKUS
    MVRKUS
    Участник
    Сообщений:26

    Зарегистрирован:
    07.04.2015

    Репутация:1

    Я тоже попробовал – работает. Видимо, я там где-то в написании ошибся или что-то такое

    #894
    +1

    workers
    Участник
    Сообщений:1

    Зарегистрирован:
    28.05.2015

    Репутация:1

    Если что, готовый openal32.dll http://fixdll.ru/dll/20-file-openal32-dll-skachat-besplatno.html тут качал. Это я к тому что если у вас вдруг улетит исходник, его можно всегда найти в интернете)

    #2442

    FerrariHD
    Участник
    Сообщений:8

    Зарегистрирован:
    24.10.2015

    Репутация:10

    Видать здесь методы для 2.2 описаны. Что делать для SFML 2.3.2? Некоторых библиотек здесь нет уже. Игра в релизе компилится, но подлагивает. И у других людей не запускается.

Просмотр 15 сообщений - с 1 по 15 (из 17 всего)

Для ответа в этой теме необходимо авторизоваться.