Проблема с начинанием

Список разделов Аудиоплеер foobar2000 Программирование foobar2000

Описание: Для программистов, пищущих плагины для foobar2000. SDK и обмен опытом

Сообщение #1 MindWork » 21.05.2010, 15:51

Итак, скачал SDK (SDK-2010-01-19.zip).
Попытался открыть файл "SDK-2010-01-19\foobar2000\foobar2000_component_client\foobar2000_component_client.vcproj" в студии 2005 и получил ошибку:
Изображение
Но это легко решилось правкой этого файла в блокноте:
Изображение
После этого проект нормально скомпилировался, и на выходе я получил .lib файл(но мне то нужна .dll).
Захожу в настройки проекта (Alt+F7), раздел "Configuration Properties", подраздел "General" и в свойстве "Configuration Type" меняю значение с "Static Library (.lib)" на "Dynamic Library (.dll)", компилирую, и тут получаю несколько ошибок линковки, вот лог:
Код: Выделить всё
1>------ Build started: Project: foobar2000_component_client, Configuration: Debug Win32 ------
1>Linking...
1>   Creating library Debug\foobar2000_component_client.lib and object Debug\foobar2000_component_client.exp
1>component_client.obj : error LNK2019: unresolved external symbol "void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z) referenced in function "struct HWND__ * __cdecl core_api::get_main_window(void)" (?get_main_window@core_api@@YAPAUHWND__@@XZ)
1>component_client.obj : error LNK2001: unresolved external symbol "class foobar2000_api * g_foobar2000_api" (?g_foobar2000_api@@3PAVfoobar2000_api@@A)
1>component_client.obj : error LNK2019: unresolved external symbol __imp__uBugCheck@0 referenced in function "void __cdecl core_api::ensure_main_thread(void)" (?ensure_main_thread@core_api@@YAXXZ)
1>component_client.obj : error LNK2001: unresolved external symbol "public: static class service_factory_base * service_factory_base::__internal__list" (?__internal__list@service_factory_base@@2PAV1@A)
1>component_client.obj : error LNK2019: unresolved external symbol "public: static void __cdecl cfg_var_writer::config_write_file(class foobar2000_io::stream_writer *,class foobar2000_io::abort_callback &)" (?config_write_file@cfg_var_writer@@SAXPAVstream_writer@foobar2000_io@@AAVabort_callback@3@@Z) referenced in function "public: virtual void __thiscall `anonymous namespace'::foobar2000_client_impl::get_config(class foobar2000_io::stream_writer *,class foobar2000_io::abort_callback &)" (?get_config@foobar2000_client_impl@?A0x52337ebc@@UAEXPAVstream_writer@foobar2000_io@@AAVabort_callback@4@@Z)
1>component_client.obj : error LNK2019: unresolved external symbol "public: static void __cdecl cfg_var_reader::config_read_file(class foobar2000_io::stream_reader *,class foobar2000_io::abort_callback &)" (?config_read_file@cfg_var_reader@@SAXPAVstream_reader@foobar2000_io@@AAVabort_callback@3@@Z) referenced in function "public: virtual void __thiscall `anonymous namespace'::foobar2000_client_impl::set_config(class foobar2000_io::stream_reader *,class foobar2000_io::abort_callback &)" (?set_config@foobar2000_client_impl@?A0x52337ebc@@UAEXPAVstream_reader@foobar2000_io@@AAVabort_callback@4@@Z)
1>Debug\foobar2000_component_client.dll : fatal error LNK1120: 6 unresolved externals
1>Build log was saved at "file://SDK-2010-01-19\foobar2000\foobar2000_component_client_my\Debug\BuildLog.htm"
1>foobar2000_component_client - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Что я делаю неправильно?
MindWork
Автор темы, Новичок
Репутация: 0
С нами: 8 лет 3 месяца

Сообщение #2 skipyrich » 21.05.2010, 19:18

неправильно:
1. пытаешься воспользоваться 2005-й студией. сдк уже давненько под 2008-ю.
2. компилишь вместо всего сдк одну его часть, которая зависит от других частей.

создавай пустой .sln
добавляй в него foobar2000/SDK/foobar2000_SDK.vcproj
остальные требования можно почерпнуть из sdk-readme.html
Помни!: пережатие из (wav|mp3|mpc|ogg|aac|...) в (mp3|mpc|ogg|aac|...) при любых битрейтах ухудшает качество
skipyrich M
Мастер
Возраст: 43
Откуда: Москва
Репутация: 11
С нами: 10 лет 8 месяцев

Сообщение #3 MindWork » 21.05.2010, 22:21

2skipyrich, большое спасибо, а я специально 2005 для него поставил =)
MindWork
Автор темы, Новичок
Репутация: 0
С нами: 8 лет 3 месяца

Сообщение #4 beaver » 22.07.2010, 14:25

Бодрого всем дня.
Спрошу, не создавая отдельной темы: можно ли ваять свои задумки на базе фубара, используя .NET (конкретней - на C#)?
Спасибо.
beaver
Гость

Сообщение #5 DRON » 22.07.2010, 16:29

2beaver, есть некий foo_managedwrapper, но насколько он работоспособен мне не известно.
А вообще ваять можно на чём угодно, было бы желание: я например на Delphi плагины пишу.
DRON M
Мастер
Аватара
Откуда: Санкт-Петербург
Репутация: 112
С нами: 8 лет 8 месяцев

Сообщение #6 beaver » 23.07.2010, 14:37

Спасибо.
А реально ли вообще "пришпилить" к фубару окошко для отображения видео (ессно через плагины)?
beaver
Гость

Сообщение #7 DRON » 23.07.2010, 16:59

2beaver ну вы SDK то почитайте: визуализацию "пришпилить" можно, а что конкретно вы в ней будете визуализировать фубару вобщем-то пофиг.
DRON M
Мастер
Аватара
Откуда: Санкт-Петербург
Репутация: 112
С нами: 8 лет 8 месяцев

Темп:::Вопросы по foobar2000 v1.х <- НОВИЧКИ! Вам сюда!

Сообщение #8 komar » 26.07.2010, 16:33

Привет сообществу!
Я программист на С++и C# (Microsoft VS-2008), хотел бы сделать свою сборку, добавив полезные, как мне кажется, возможности. Прошу подсказать, с чего начать: скачанный с сайта SDK я собрал, но в результате получил DLL. Где взять сборку EXE? 
komar
Гость

Темп:::Вопросы по foobar2000 v1.х <- НОВИЧКИ! Вам сюда!

Сообщение #9 DRON » 26.07.2010, 17:07

komar писал(а):Я программист на С++и C# (Microsoft VS-2008), хотел бы сделать свою сборку, добавив полезные, как мне кажется, возможности.
Сборками на данном сайте называются архивы (хотя бывают и инсталляторы) содержащие ряд плагинов с настройками, а не то что вы подумали.
komar писал(а):Где взять сборку EXE?
Нигде. Фубар не OpenSource и никогда им не будет (так же как и большинство плагинов).
DRON M
Мастер
Аватара
Откуда: Санкт-Петербург
Репутация: 112
С нами: 8 лет 8 месяцев

Темп:::Вопросы по foobar2000 v1.х <- НОВИЧКИ! Вам сюда!

Сообщение #10 komar » 26.07.2010, 17:28

_DRON_ писал(а):Нигде. Фубар не OpenSource и никогда им не будет (так же как и большинство плагинов).
Спасибо, понял. А то хотел минимальной кровью, да чтобы при выходе запоминало вообще всё, что можно себе представить (текущие треки и позиции), а при переключении табочек вспоминался трек и позиция в нем. Нет ли где, кстати, примеров использования их SDK?
komar
Гость

Темп:::Вопросы по foobar2000 v1.х <- НОВИЧКИ! Вам сюда!

Сообщение #11 DRON » 26.07.2010, 18:02

komar писал(а):да чтобы при выходе запоминало вообще всё, что можно себе представить (текущие треки и позиции), а при переключении табочек вспоминался трек и позиция в нем
Вы что-то не то делаете: всё что вы перечислили и так запоминается (кроме позиции в треке, но для этого был плагин bookmarks-чего-то-там).
komar писал(а):Нет ли где, кстати, примеров использования их SDK?
С этим туго. Я знаю только несколько ссылок где есть плагины с исходниками:
http://kode54.foobar2000.org/
http://foosion.foobar2000.org/components/

PS: Вообще про всё это лучше спрашивать на соответствующем форуме.
DRON M
Мастер
Аватара
Откуда: Санкт-Петербург
Репутация: 112
С нами: 8 лет 8 месяцев

Сообщение #12 romka2411 » 21.01.2013, 02:52

начал компилить сдк фубара с примером foo_ui_example, не вышло: жалуется, что нет файла tmschema.h. Visual Studio 2012 Ultimate. Подскажите где его взять и нужен ли он вообще?
romka2411
Новичок
Репутация: 0
С нами: 4 года 4 месяца

Сообщение #13 guest » 21.01.2013, 21:15

TmSchema.h is obsolete. Please include vssym32.h instead.
guest
Гость


Вернуться в Программирование foobar2000