FreeBasic
Главная
Вход
Регистрация
Суббота, 23.09.2017, 10:25Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Freebasic » Вопросы по языку FreeBasic » Не работают библиотеки! Что делать? ((fbsound))
Не работают библиотеки! Что делать?
ExEДата: Пятница, 04.12.2015, 19:16 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 21
Репутация: 0
Статус: Offline
Дисклеймер: Понимаю, я дикий ламер, и ваш котяра разобрался бы быстрее.

Всем привет! Как вы могли прочитать из темы, я новичок, причем не по FB, а по программированию в целом. Учусь скозь пот, кровь, лень, и сгоревшие нейроны, ибо я типичный гуманитарий. Процесс познавания действительно затянулся, уже года 4 занимаюсь программированием, а все элементарных вещей не знаю... Но хорошие новости тоже есть. Поставив цель сделать простенький ИИ, я сделал микро флешку без звуков и спрайтов, и окрестил ее "Крестики-Нолики". Получилось весьма играбельно, но проект столь убог что бета тест решил не начинать. Замутил новый проект, уже по сложней, "Морской-бой" называется. Не сложно догадаться о чем. В нем я уже реализовал спрайтовую графику и мышь. Сейчас все застыло на главном меню, оно рабочее, но не совершенное. Для полной картины не хватает саундтрека. Скачал библиотеку FBsound 0.18. Попутно изучаю функции, попробовал загрузить и воспроизвести небольшой звук, так, для теста. Выдала ошибку. Много ошибок. Переместил все файлы BI в папку проекта, и тогда вроде как заработало. Попробовал запустить функции загрузки и воспроизведения. Вот что выдал дебагер FBIde:

C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -lfbsound
C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -lfbscpu
C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -ldumb
C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -lmad
C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -logg
C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -lvorbis
C:\Users\D395~1\Desktop\E1BF~1\2F5B~1\FREEBA~2.0-W\bin\win64\ld.exe: cannot find -lvorbisfile

Очевидно, он не может найти библиотеки. Ну я так думаю. А как исправить? Скачивал библиотеку с вашего сайта. И IDE тоже.
PS: если интересно, вот "Крестики-Нолики". Скачать исходники и игру.
 
haavДата: Пятница, 04.12.2015, 21:18 | Сообщение # 2
Генерал-лейтенант
Группа: Администраторы
Сообщений: 768
Репутация: 33
Статус: Offline
А какая версия компилятора используется? Я не просто так спрашиваю, просто версия fbsound 0.18 только для компиляторов 0.24, 0.90.1 , 0.91.0. Для новых версий компилятора есть версия 0.20.

Цитата ExE ()
Очевидно, он не может найти библиотеки. Ну я так думаю. А как исправить?

Верно, линкер не может найти библиотеки. Можно их поместить в папку с компилятором lib\win32 (где лежат все библиотеки .a) , или поместить рядом с исполняемым файлом программы, или же положить в любую папку, но указать при компиляции этот путь при помощи опции -p. Файлы библиотек .dll желательно класть рядом с исполняемым файлом программы. Кроме того, не стоит забывать, что компиляцию желательно проводить с опцией  -mt для указания того, что библиотека использует многопоточность. Без этой опции будет работать, но кто знает на каком этапе появятся сюрпризы. Раз автор сам использует эту опцию, то вряд ли просто так.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
ExEДата: Пятница, 04.12.2015, 22:14 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 21
Репутация: 0
Статус: Offline

Цитата
А какая версия компилятора используется? Я не просто так спрашиваю, просто версия fbsound 0.18 только для компиляторов 0.24, 0.90.1 , 0.91.0. Для новых версий компилятора есть версия 0.20.
 Спасибо! Обновил библиотеку, и все заработало! Правда эффекта функций нет, видимо не так скомпилировал. Что в библиотеке плохо, так это огромное количество файлов заголовков, вкладываемых один в другой. На целый мегабайт. Вся игра столько не весит. Но баги я уж пофикшу.... Спасибо!
 
Billi_JoДата: Понедельник, 02.01.2017, 21:30 | Сообщение # 4
Сержант
Группа: Пользователи
Сообщений: 37
Репутация: 0
Статус: Offline
Здравствуйте.
Тоже мучаю библиотеку fbsound.
У меня последняя сборка 1.05

Файлы библиотек .dll положил рядом с исполняемым файлом.
Моя прога использует GUI.
Но если компилить с опциями fbc -mt -s gui звук не работает.
Если компилить как консольное приложение или только с опцией fbc -mt, то все работает, но, соответственно, вылезает консоль.
Это немного неприятно)
Как быть?

Добавлено (02.01.2017, 21:30)
---------------------------------------------
Решил проблему.
Похоже, что fbsound в данном случае, конфликтует с библиотекой window9.
После того, как я переместил команду fbs_Init() после команды OpenWindow("",0,0,400,300) все заработало с опциями fbc -mt -s gui.

Ув. haav, как бы вы прокомментировали данную ситуацию?

 
haavДата: Среда, 04.01.2017, 10:46 | Сообщение # 5
Генерал-лейтенант
Группа: Администраторы
Сообщений: 768
Репутация: 33
Статус: Offline
Цитата Billi_Jo ()
Решил проблему.
Похоже, что fbsound в данном случае, конфликтует с библиотекой window9.
После того, как я переместил команду fbs_Init() после команды OpenWindow("",0,0,400,300) все заработало с опциями fbc -mt -s gui.

Ув. haav, как бы вы прокомментировали данную ситуацию?


Почему это происходит не знаю, точнее просто лень было дотошно разбираться. Я не раз замечал конфликты разных библиотек, но вот с window9 еще не было. Вот похоже вам попался как раз подобный случай только уже с моей либой smile


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Вопросы по языку FreeBasic » Не работают библиотеки! Что делать? ((fbsound))
Страница 1 из 11
Поиск: