Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: compile foo_uie_trackinfo (Read 17599 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

compile foo_uie_trackinfo

Hi,

will I be able to compile foo_uie_trackinfo with visual c++ 2005 express? The 2005 does not allow to start dll projects, so I think, my mission is impossible...?

Thx.

compile foo_uie_trackinfo

Reply #1
will I be able to compile foo_uie_trackinfo with visual c++ 2005 express?
You should. Of course, if it has any dialog resources, you won't be able to to edit those in the IDE, though you can use the resource editor from RadAsm.

The 2005 does not allow to start dll projects, so I think, my mission is impossible...?
You cannot run DLLs directly, but like in any other version of Visual Studio that I know, you can run an arbitrary command to debug your DLL projects. Just set up a (minimal) foobar2000 installation in the output directory, and add the relevant entries for "Command" and "Working Directory" in the Debugging section of the project properties.

compile foo_uie_trackinfo

Reply #2
The 2005 does not allow to start dll projects, so I think, my mission is impossible...?
You cannot run DLLs directly, but like in any other version of Visual Studio that I know, you can run an arbitrary command to debug your DLL projects. Just set up a (minimal) foobar2000 installation in the output directory, and add the relevant entries for "Command" and "Working Directory" in the Debugging section of the project properties.

Sorry for the misunderstanding, of course I don't want to run a dll directly. What I meant was to create a new dll project, this is what I wanted to do... My thoughts were: "ooh, there's no dsw, or however ms visual studio project files are

This may sound all newbie-ish, and it is. I'm a bit familiar with c++ coding, but absolutely not familiar with the ms ide's as well as with gui programming ...

compile foo_uie_trackinfo

Reply #3
i THINK you can do that by following the instructions on the link below. i think only step #5 applies to you but if you use the Platform SDK, the the rest might be as well.

http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/

edit:it seems to work but i don't feel like making a new project . anyways, what you do is you select "Win32 Console Application" from the selection and then when you click OK, a new thingy appears. when it does, click application settings and select DLL. this should work.

compile foo_uie_trackinfo

Reply #4
It's pretty simple once you get everything set up and know what needs to be set, but it's a bit confusing at first... I've actually been working on trackinfo for the last couple of weeks, but I'm a total newbie at C++ coding. So far, all I've got is the CPU usage problem fixed (caused by the scroll timer continually running when unnecessary), fixed the tab alignment problems when using ellipsize, and have added the ability to ellipsize by letter (so it gets cut like "Metallica - Master of Pup..."). To continue working what I'd like to do with trackinfo, however, I'm going to need to study C++ quite a bit more.

One thing I have found is that I can't get the thing to compile with the most recent version of the foobar2000 SDK. As such, here's a zip up of all that should be required to compile, along with those alterations I've made to the trackinfo code: <link removed by moderation>. And just the compiled DLL, for those who are interested: <removed for update>.

One other note: for compiling to work for me, I had to do a couple of other things not typically mentioned in the VC++ Express guides...
1) I had to explicitly include the MFC libraries in the VC++ Directories/Include files area (ie: add C:\Program Files\Microsoft Platform SDK\Include\mfc)
2) I had to locate some additional library files that didn't come with the Platform SDK. They should be easy enough to find by examining the console output of VC++ and Googling "Index Of" filename.lib. You ought to get some Apache directory listings with direct links to get the required libraries - just download them to an include directory.


*if distributing the foobar2000/columns_ui SDKs like that breaks any licenses (yeah, I didn't read them), send me a PM and I can disable the link. It's all in the name of convenience!
They call me random_n...

compile foo_uie_trackinfo

Reply #5
*if distributing the foobar2000/columns_ui SDKs like that breaks any licenses (yeah, I didn't read them), send me a PM and I can disable the link. It's all in the name of convenience!
It is your own responsibility to check the legality of content you post on this forum, not that of other forum members or the forum staff. That does not mean that the staff won't check, but if you are found to violate the forum rules by posting illegal content, the reaction will rarely be just a friendly reminder via PM.

Feel free to to readd the link to your source code. I also suggest reading the SDK license, though the usefulness of redistributing the SDK with your code is doubtful anyway.

PS: Source code archives get a lot smaller, if you do not include intermediate files like precompiled headers.

compile foo_uie_trackinfo

Reply #6
Thx anyone, it's almost working. Now there are linker errors, I think this is the last step. But I do not find the solution.

Code: [Select]
Code wird generiert...
Ressourcen werden kompiliert...
Manifest in Ressourcen wird kompiliert...
Verknüpfen...
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uGetTextHeight@4" in Funktion ""private: int __thiscall uie_trackinfo::text_out_lines(struct HDC__ *,class pfc::string_base &,int,int,struct tagRECT *)" (?text_out_lines@uie_trackinfo@@AAEHPAUHDC__@@AAVstring_base@pfc@@HHPAUtagRECT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::string_find_first(char const *,char,unsigned int)" (?string_find_first@pfc@@YAIPBDDI@Z)" in Funktion ""public: unsigned int __thiscall pfc::string_base::find_first(char,unsigned int)" (?find_first@string_base@pfc@@QAEIDI@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uTextOutColorsTabbed@36" in Funktion ""private: int __thiscall uie_trackinfo::text_out_colors_wrap(struct HDC__ *,char const *,int,int,int,struct tagRECT *,int)" (?text_out_colors_wrap@uie_trackinfo@@AAEHPAUHDC__@@PBDHHHPAUtagRECT@@H@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall pfc::string_receiver::add_char(unsigned int)" (?add_char@string_receiver@pfc@@QAEXI@Z)" in Funktion ""public: void __thiscall pfc::string_receiver::add_chars(unsigned int,unsigned int)" (?add_chars@string_receiver@pfc@@QAEXII@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall pfc::string_receiver::add_char(unsigned int)" (?add_char@string_receiver@pfc@@QAEXI@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uGetTextExtentPoint32@16" in Funktion ""int __cdecl get_text_width(struct HDC__ *,char const *,int)" (?get_text_width@@YAHPAUHDC__@@PBDH@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall pfc::string_base::skip_trailing_char(unsigned int)" (?skip_trailing_char@string_base@pfc@@QAEXI@Z)" in Funktion ""private: int __thiscall uie_trackinfo::text_out_colors_scroll(struct HDC__ *,char const *,int,int,int,struct tagRECT *,int)" (?text_out_colors_scroll@uie_trackinfo@@AAEHPAUHDC__@@PBDHHHPAUtagRECT@@H@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const ui_extension::window::class_guid" (?class_guid@window@ui_extension@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall foobar2000_io::stream_reader::read_string(class pfc::string_base &,class foobar2000_io::abort_callback &)" (?read_string@stream_reader@foobar2000_io@@QAEXAAVstring_base@pfc@@AAVabort_callback@2@@Z)" in Funktion ""public: virtual void __thiscall uie_trackinfo::set_config(class foobar2000_io::stream_reader *,unsigned int,class foobar2000_io::abort_callback &)" (?set_config@uie_trackinfo@@UAEXPAVstream_reader@foobar2000_io@@IAAVabort_callback@3@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall foobar2000_io::stream_writer::write_string(char const *,class foobar2000_io::abort_callback &)" (?write_string@stream_writer@foobar2000_io@@QAEXPBDAAVabort_callback@2@@Z)" in Funktion ""public: virtual void __thiscall uie_trackinfo::get_config(class foobar2000_io::stream_writer *,class foobar2000_io::abort_callback &)const " (?get_config@uie_trackinfo@@UBEXPAVstream_writer@foobar2000_io@@AAVabort_callback@3@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""struct HINSTANCE__ * __cdecl core_api::get_my_instance(void)" (?get_my_instance@core_api@@YAPAUHINSTANCE__@@XZ)" in Funktion ""public: virtual struct HWND__ * __thiscall uie_trackinfo::create_or_transfer_window(struct HWND__ *,class service_ptr_t<class ui_extension::window_host> const &,class ui_helpers::window_position_t const &)" (?create_or_transfer_window@uie_trackinfo@@UAEPAUHWND__@@PAU2@ABV?$service_ptr_t@Vwindow_host@ui_extension@@@@ABVwindow_position_t@ui_helpers@@@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct HINSTANCE__ * __cdecl core_api::get_my_instance(void)" (?get_my_instance@core_api@@YAPAUHINSTANCE__@@XZ)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall playlist_manager::activeplaylist_get_focus_item_handle(class service_ptr_t<class metadb_handle> &)" (?activeplaylist_get_focus_item_handle@playlist_manager@@QAE_NAAV?$service_ptr_t@Vmetadb_handle@@@@@Z)" in Funktion ""public: long __stdcall uie_trackinfo::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@uie_trackinfo@@QAGJPAUHWND__@@IIJ@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall playlist_manager::activeplaylist_get_item_handle(class service_ptr_t<class metadb_handle> &,unsigned int)" (?activeplaylist_get_item_handle@playlist_manager@@QAE_NAAV?$service_ptr_t@Vmetadb_handle@@@@I@Z)" in Funktion ""public: virtual void __thiscall uie_trackinfo::on_item_focus_change(unsigned int,unsigned int)" (?on_item_focus_change@uie_trackinfo@@UAEXII@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct _GUID const columns_ui::strings::guid_global_variables" (?guid_global_variables@strings@columns_ui@@3U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall titleformat_hook_impl_splitter::process_field(class titleformat_text_out *,char const *,unsigned int,bool &)" (?process_field@titleformat_hook_impl_splitter@@UAE_NPAVtitleformat_text_out@@PBDIAA_N@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall titleformat_hook_impl_splitter::process_function(class titleformat_text_out *,char const *,unsigned int,class titleformat_hook_function_params *,bool &)" (?process_function@titleformat_hook_impl_splitter@@UAE_NPAVtitleformat_text_out@@PBDIPAVtitleformat_ho
ok_function_params@@AA_N@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall titleformat_text_out::write_int(struct _GUID const &,__int64)" (?write_int@titleformat_text_out@@QAEXABU_GUID@@_J@Z)" in Funktion ""public: virtual bool __thiscall trackinfo_titleformat_hook::process_field(class titleformat_text_out *,char const *,unsigned int,bool &)" (?process_field@trackinfo_titleformat_hook@@UAE_NPAVtitleformat_text_out@@PBDIAA_N@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct _GUID const titleformat_inputtypes::unknown" (?unknown@titleformat_inputtypes@@3U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__stricmp_utf8_ex@16" in Funktion ""public: virtual bool __thiscall trackinfo_titleformat_hook::process_field(class titleformat_text_out *,char const *,unsigned int,bool &)" (?process_field@trackinfo_titleformat_hook@@UAE_NPAVtitleformat_text_out@@PBDIAA_N@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall contextmenu_manager::execute_by_id(unsigned int)" (?execute_by_id@contextmenu_manager@@QAE_NI@Z)" in Funktion ""private: void __thiscall uie_trackinfo::do_contextmenu(struct HWND__ *,struct tagPOINT)" (?do_contextmenu@uie_trackinfo@@AAEXPAUHWND__@@UtagPOINT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl menu_helpers::win32_auto_mnemonics(struct HMENU__ *)" (?win32_auto_mnemonics@menu_helpers@@YAXPAUHMENU__@@@Z)" in Funktion ""private: void __thiscall uie_trackinfo::do_contextmenu(struct HWND__ *,struct tagPOINT)" (?do_contextmenu@uie_trackinfo@@AAEXPAUHWND__@@UtagPOINT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uAppendMenu@16" in Funktion ""private: void __thiscall uie_trackinfo::do_contextmenu(struct HWND__ *,struct tagPOINT)" (?do_contextmenu@uie_trackinfo@@AAEXPAUHWND__@@UtagPOINT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static void __cdecl contextmenu_manager::win32_build_menu(struct HMENU__ *,class contextmenu_node *,int,int)" (?win32_build_menu@contextmenu_manager@@SAXPAUHMENU__@@PAVcontextmenu_node@@HH@Z)" in Funktion ""public: void __thiscall contextmenu_manager::win32_build_menu(struct HMENU__ *,int,int)" (?win32_build_menu@contextmenu_manager@@QAEXPAUHMENU__@@HH@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z)" in Funktion ""public: class service_obscure_refcounting<class metadb_handle> * __thiscall service_ptr_t<class metadb_handle>::operator->(void)const " (??C?$service_ptr_t@Vmetadb_handle@@@@QBEPAV?$service_obscure_refcounting@Vmetadb_handle@@@@XZ)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct _GUID const titleformat_inputtypes::meta" (?meta@titleformat_inputtypes@@3U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static void const * __cdecl service_factory_base::enum_find_class(struct _GUID const &)" (?enum_find_class@service_factory_base@@SAPBXABU_GUID@@@Z)" in Funktion ""public: __thiscall service_class_helper_t<class playlist_incoming_item_filter>::service_class_helper_t<class playlist_incoming_item_filter>(void)" (??0?$service_class_helper_t@Vplaylist_incoming_item_filter@@@@QAE@XZ)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static void const * __cdecl service_factory_base::enum_find_class(struct _GUID const &)" (?enum_find_class@service_factory_base@@SAPBXABU_GUID@@@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playlist_incoming_item_filter::class_guid" (?class_guid@playlist_incoming_item_filter@@2U_GUID@@B)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playlist_incoming_item_filter::class_guid" (?class_guid@playlist_incoming_item_filter@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::strlen_max(char const *,unsigned int)" (?strlen_max@pfc@@YAIPBDI@Z)" in Funktion ""public: virtual void __thiscall pfc::string8_t<class pfc::alloc_standard>::add_string(char const *,unsigned int)" (?add_string@?$string8_t@Valloc_standard@pfc@@@pfc@@UAEXPBDI@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::strlen_max(char const *,unsigned int)" (?strlen_max@pfc@@YAIPBDI@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::reorder(class pfc::reorder_callback &,unsigned int const *,unsigned int)" (?reorder@pfc@@YAXAAVreorder_callback@1@PBII@Z)" in Funktion ""void __cdecl pfc::reorder_partial_t<class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >(class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> &,unsigned int,unsigned int const *,unsigned int)" (??$reorder_partial_t@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@YAXAAV?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@0@IPBII@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::reorder(class pfc::reorder_callback &,unsigned int const *,unsigned int)" (?reorder@pfc@@YAXAAVreorder_callback@1@PBII@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort(class pfc::sort_callback &,unsigned int)" (?sort@pfc@@YAXAAVsort_callback@1@I@Z)" in Funktion ""public: void __thiscall pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_t<class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper>(class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper)" (??$sort_t@Vsort_callback_wrapper@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@QAEXVsort_callback_wrapper@01@@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort(class pfc::sort_callback &,unsigned int)" (?sort@pfc@@YAXAAVsort_callback@1@I@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort_stable(class pfc::sort_callback &,unsigned int)" (?sort_stable@pfc@@YAXAAVsort_callback@1@I@Z)" in Funktion ""public: void __thiscall pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_stable_t<class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper>(class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper)" (??$sort_stable_t@Vsort_callback_wrapper@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@QAEXVsort_callback_wrapper@01@@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort_stable(class pfc::sort_callback &,unsigned int)" (?sort_stable@pfc@@YAXAAVsort_callback@1@I@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const contextmenu_manager::class_guid" (?class_guid@contextmenu_manager@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static unsigned int __cdecl service_factory_base::enum_get_count(void const *)" (?enum_get_count@service_factory_base@@SAIPBX@Z)" in Funktion ""public: unsigned int __thiscall service_class_helper_t<class contextmenu_manager>::get_count(void)const " (?get_count@?$service_class_helper_t@Vcontextmenu_manager@@@@QBEIXZ)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const titleformat_compiler::class_guid" (?class_guid@titleformat_compiler@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playlist_manager::class_guid" (?class_guid@playlist_manager@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const play_callback_manager::class_guid" (?class_guid@play_callback_manager@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playback_control::class_guid" (?class_guid@playback_control@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const columns_ui::control::class_guid" (?class_guid@control@columns_ui@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static bool __cdecl service_factory_base::enum_create(class service_ptr_t<class service_base> &,void const *,unsigned int)" (?enum_create@service_factory_base@@SA_NAAV?$service_ptr_t@Vservice_base@@@@PBXI@Z)" in Funktion ""public: bool __thiscall service_class_helper_t<class contextmenu_manager>::create(class service_ptr_t<class contextmenu_manager> &,unsigned int)const " (?create@?$service_class_helper_t@Vcontextmenu_manager@@@@QBE_NAAV?$service_ptr_t@Vcontextmenu_manager@@@@I@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static bool __cdecl service_factory_base::enum_create(class service_ptr_t<class service_base> &,void const *,unsigned int)" (?enum_create@service_factory_base@@SA_NAAV?$service_ptr_t@Vservice_base@@@@PBXI@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const componentversion::class_guid" (?class_guid@componentversion@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * __cdecl core_api::get_my_file_name(void)" (?get_my_file_name@core_api@@YAPBDXZ)" in Funktion ""public: virtual void __thiscall componentversion_impl_simple::get_file_name(class pfc::string_base &)" (?get_file_name@componentversion_impl_simple@@UAEXAAVstring_base@pfc@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""bool __cdecl core_api::are_services_available(void)" (?are_services_available@core_api@@YA_NXZ)" in Funktion ""protected: __thiscall service_factory_base::~service_factory_base(void)" (??1service_factory_base@@IAE@XZ)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static class service_factory_base * service_factory_base::__internal__list" (?__internal__list@service_factory_base@@2PAV1@A)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall pfc::format_int::format_int(__int64,unsigned int,unsigned int)" (??0format_int@pfc@@QAE@_JII@Z)" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uChooseColor@12" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uGetDlgItemText@12" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uSendDlgItemMessageText@20" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uSetDlgItemText@12" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::stringcvt::convert_wide_to_utf8(char *,unsigned int,wchar_t const *,unsigned int)" (?convert_wide_to_utf8@stringcvt@pfc@@YAIPADIPB_WI@Z)" in Funktion ""public: void __thiscall pfc::stringcvt::string_utf8_from_wide_t<class pfc::alloc_standard>::convert(wchar_t const *,unsigned int)" (?convert@?$string_utf8_from_wide_t@Valloc_standard@pfc@@@stringcvt@pfc@@QAEXPB_WI@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::stringcvt::estimate_wide_to_utf8(wchar_t const *,unsigned int)" (?estimate_wide_to_utf8@stringcvt@pfc@@YAIPB_WI@Z)" in Funktion ""public: void __thiscall pfc::stringcvt::string_utf8_from_wide_t<class pfc::alloc_standard>::convert(wchar_t const *,unsigned int)" (?convert@?$string_utf8_from_wide_t@Valloc_standard@pfc@@@stringcvt@pfc@@QAEXPB_WI@Z)".
U:\SDK\foobar2000\foo_uie_trackinfo\Debug\trackinfo_panel.dll : fatal error LNK1120: 49 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://u:\SDK\foobar2000\foo_uie_trackinfo\Debug\BuildLog.htm" gespeichert.
trackinfo_panel - 61 Fehler, 35 Warnung(en)

compile foo_uie_trackinfo

Reply #7
I've never been one to enjoy the legalese, but I suppose it's fair that I not foist that task onto others. A part of the reason that I had included the SDKs was because I was unable to compile with the most recent foobar SDK... now I realize I had simply screwed up the extraction and that it works just fine . After rifling through the licences, I think it would've been alright to have those files posted in the manner they were, but since there isn't the problem I thought there was, it's really not necessary.

So, without babbling on too much longer, the source with VC++ 2005 project & solution files (but without the foobar2000 SDK and the columns_ui SDK), and the binary. I've numbered this one 0.8.2 for a really small bugfix (detailed in the readmes).



(and yeah, I did seem to miss out on one of the header areas in my first upload... was wondering why it came out so large )
They call me random_n...

compile foo_uie_trackinfo

Reply #8
Thx anyone, it's almost working. Now there are linker errors, I think this is the last step. But I do not find the solution.

Code: [Select]
Code wird generiert...
Ressourcen werden kompiliert...
Manifest in Ressourcen wird kompiliert...
Verknüpfen...
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uGetTextHeight@4" in Funktion ""private: int __thiscall uie_trackinfo::text_out_lines(struct HDC__ *,class pfc::string_base &,int,int,struct tagRECT *)" (?text_out_lines@uie_trackinfo@@AAEHPAUHDC__@@AAVstring_base@pfc@@HHPAUtagRECT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::string_find_first(char const *,char,unsigned int)" (?string_find_first@pfc@@YAIPBDDI@Z)" in Funktion ""public: unsigned int __thiscall pfc::string_base::find_first(char,unsigned int)" (?find_first@string_base@pfc@@QAEIDI@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uTextOutColorsTabbed@36" in Funktion ""private: int __thiscall uie_trackinfo::text_out_colors_wrap(struct HDC__ *,char const *,int,int,int,struct tagRECT *,int)" (?text_out_colors_wrap@uie_trackinfo@@AAEHPAUHDC__@@PBDHHHPAUtagRECT@@H@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall pfc::string_receiver::add_char(unsigned int)" (?add_char@string_receiver@pfc@@QAEXI@Z)" in Funktion ""public: void __thiscall pfc::string_receiver::add_chars(unsigned int,unsigned int)" (?add_chars@string_receiver@pfc@@QAEXII@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall pfc::string_receiver::add_char(unsigned int)" (?add_char@string_receiver@pfc@@QAEXI@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uGetTextExtentPoint32@16" in Funktion ""int __cdecl get_text_width(struct HDC__ *,char const *,int)" (?get_text_width@@YAHPAUHDC__@@PBDH@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall pfc::string_base::skip_trailing_char(unsigned int)" (?skip_trailing_char@string_base@pfc@@QAEXI@Z)" in Funktion ""private: int __thiscall uie_trackinfo::text_out_colors_scroll(struct HDC__ *,char const *,int,int,int,struct tagRECT *,int)" (?text_out_colors_scroll@uie_trackinfo@@AAEHPAUHDC__@@PBDHHHPAUtagRECT@@H@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const ui_extension::window::class_guid" (?class_guid@window@ui_extension@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall foobar2000_io::stream_reader::read_string(class pfc::string_base &,class foobar2000_io::abort_callback &)" (?read_string@stream_reader@foobar2000_io@@QAEXAAVstring_base@pfc@@AAVabort_callback@2@@Z)" in Funktion ""public: virtual void __thiscall uie_trackinfo::set_config(class foobar2000_io::stream_reader *,unsigned int,class foobar2000_io::abort_callback &)" (?set_config@uie_trackinfo@@UAEXPAVstream_reader@foobar2000_io@@IAAVabort_callback@3@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall foobar2000_io::stream_writer::write_string(char const *,class foobar2000_io::abort_callback &)" (?write_string@stream_writer@foobar2000_io@@QAEXPBDAAVabort_callback@2@@Z)" in Funktion ""public: virtual void __thiscall uie_trackinfo::get_config(class foobar2000_io::stream_writer *,class foobar2000_io::abort_callback &)const " (?get_config@uie_trackinfo@@UBEXPAVstream_writer@foobar2000_io@@AAVabort_callback@3@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""struct HINSTANCE__ * __cdecl core_api::get_my_instance(void)" (?get_my_instance@core_api@@YAPAUHINSTANCE__@@XZ)" in Funktion ""public: virtual struct HWND__ * __thiscall uie_trackinfo::create_or_transfer_window(struct HWND__ *,class service_ptr_t<class ui_extension::window_host> const &,class ui_helpers::window_position_t const &)" (?create_or_transfer_window@uie_trackinfo@@UAEPAUHWND__@@PAU2@ABV?$service_ptr_t@Vwindow_host@ui_extension@@@@ABVwindow_position_t@ui_helpers@@@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct HINSTANCE__ * __cdecl core_api::get_my_instance(void)" (?get_my_instance@core_api@@YAPAUHINSTANCE__@@XZ)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall playlist_manager::activeplaylist_get_focus_item_handle(class service_ptr_t<class metadb_handle> &)" (?activeplaylist_get_focus_item_handle@playlist_manager@@QAE_NAAV?$service_ptr_t@Vmetadb_handle@@@@@Z)" in Funktion ""public: long __stdcall uie_trackinfo::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@uie_trackinfo@@QAGJPAUHWND__@@IIJ@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall playlist_manager::activeplaylist_get_item_handle(class service_ptr_t<class metadb_handle> &,unsigned int)" (?activeplaylist_get_item_handle@playlist_manager@@QAE_NAAV?$service_ptr_t@Vmetadb_handle@@@@I@Z)" in Funktion ""public: virtual void __thiscall uie_trackinfo::on_item_focus_change(unsigned int,unsigned int)" (?on_item_focus_change@uie_trackinfo@@UAEXII@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct _GUID const columns_ui::strings::guid_global_variables" (?guid_global_variables@strings@columns_ui@@3U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall titleformat_hook_impl_splitter::process_field(class titleformat_text_out *,char const *,unsigned int,bool &)" (?process_field@titleformat_hook_impl_splitter@@UAE_NPAVtitleformat_text_out@@PBDIAA_N@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual bool __thiscall titleformat_hook_impl_splitter::process_function(class titleformat_text_out *,char const *,unsigned int,class titleformat_hook_function_params *,bool &)" (?process_function@titleformat_hook_impl_splitter@@UAE_NPAVtitleformat_text_out@@PBDIPAVtitleformat_ho
ok_function_params@@AA_N@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall titleformat_text_out::write_int(struct _GUID const &,__int64)" (?write_int@titleformat_text_out@@QAEXABU_GUID@@_J@Z)" in Funktion ""public: virtual bool __thiscall trackinfo_titleformat_hook::process_field(class titleformat_text_out *,char const *,unsigned int,bool &)" (?process_field@trackinfo_titleformat_hook@@UAE_NPAVtitleformat_text_out@@PBDIAA_N@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct _GUID const titleformat_inputtypes::unknown" (?unknown@titleformat_inputtypes@@3U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__stricmp_utf8_ex@16" in Funktion ""public: virtual bool __thiscall trackinfo_titleformat_hook::process_field(class titleformat_text_out *,char const *,unsigned int,bool &)" (?process_field@trackinfo_titleformat_hook@@UAE_NPAVtitleformat_text_out@@PBDIAA_N@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall contextmenu_manager::execute_by_id(unsigned int)" (?execute_by_id@contextmenu_manager@@QAE_NI@Z)" in Funktion ""private: void __thiscall uie_trackinfo::do_contextmenu(struct HWND__ *,struct tagPOINT)" (?do_contextmenu@uie_trackinfo@@AAEXPAUHWND__@@UtagPOINT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl menu_helpers::win32_auto_mnemonics(struct HMENU__ *)" (?win32_auto_mnemonics@menu_helpers@@YAXPAUHMENU__@@@Z)" in Funktion ""private: void __thiscall uie_trackinfo::do_contextmenu(struct HWND__ *,struct tagPOINT)" (?do_contextmenu@uie_trackinfo@@AAEXPAUHWND__@@UtagPOINT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uAppendMenu@16" in Funktion ""private: void __thiscall uie_trackinfo::do_contextmenu(struct HWND__ *,struct tagPOINT)" (?do_contextmenu@uie_trackinfo@@AAEXPAUHWND__@@UtagPOINT@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static void __cdecl contextmenu_manager::win32_build_menu(struct HMENU__ *,class contextmenu_node *,int,int)" (?win32_build_menu@contextmenu_manager@@SAXPAUHMENU__@@PAVcontextmenu_node@@HH@Z)" in Funktion ""public: void __thiscall contextmenu_manager::win32_build_menu(struct HMENU__ *,int,int)" (?win32_build_menu@contextmenu_manager@@QAEXPAUHMENU__@@HH@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z)" in Funktion ""public: class service_obscure_refcounting<class metadb_handle> * __thiscall service_ptr_t<class metadb_handle>::operator->(void)const " (??C?$service_ptr_t@Vmetadb_handle@@@@QBEPAV?$service_obscure_refcounting@Vmetadb_handle@@@@XZ)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::myassert(wchar_t const *,wchar_t const *,unsigned int)" (?myassert@pfc@@YAXPB_W0I@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct _GUID const titleformat_inputtypes::meta" (?meta@titleformat_inputtypes@@3U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static void const * __cdecl service_factory_base::enum_find_class(struct _GUID const &)" (?enum_find_class@service_factory_base@@SAPBXABU_GUID@@@Z)" in Funktion ""public: __thiscall service_class_helper_t<class playlist_incoming_item_filter>::service_class_helper_t<class playlist_incoming_item_filter>(void)" (??0?$service_class_helper_t@Vplaylist_incoming_item_filter@@@@QAE@XZ)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static void const * __cdecl service_factory_base::enum_find_class(struct _GUID const &)" (?enum_find_class@service_factory_base@@SAPBXABU_GUID@@@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playlist_incoming_item_filter::class_guid" (?class_guid@playlist_incoming_item_filter@@2U_GUID@@B)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playlist_incoming_item_filter::class_guid" (?class_guid@playlist_incoming_item_filter@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::strlen_max(char const *,unsigned int)" (?strlen_max@pfc@@YAIPBDI@Z)" in Funktion ""public: virtual void __thiscall pfc::string8_t<class pfc::alloc_standard>::add_string(char const *,unsigned int)" (?add_string@?$string8_t@Valloc_standard@pfc@@@pfc@@UAEXPBDI@Z)".
trackinfo_prefs.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::strlen_max(char const *,unsigned int)" (?strlen_max@pfc@@YAIPBDI@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::reorder(class pfc::reorder_callback &,unsigned int const *,unsigned int)" (?reorder@pfc@@YAXAAVreorder_callback@1@PBII@Z)" in Funktion ""void __cdecl pfc::reorder_partial_t<class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >(class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> &,unsigned int,unsigned int const *,unsigned int)" (??$reorder_partial_t@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@YAXAAV?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@0@IPBII@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::reorder(class pfc::reorder_callback &,unsigned int const *,unsigned int)" (?reorder@pfc@@YAXAAVreorder_callback@1@PBII@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort(class pfc::sort_callback &,unsigned int)" (?sort@pfc@@YAXAAVsort_callback@1@I@Z)" in Funktion ""public: void __thiscall pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_t<class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper>(class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper)" (??$sort_t@Vsort_callback_wrapper@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@QAEXVsort_callback_wrapper@01@@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort(class pfc::sort_callback &,unsigned int)" (?sort@pfc@@YAXAAVsort_callback@1@I@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort_stable(class pfc::sort_callback &,unsigned int)" (?sort_stable@pfc@@YAXAAVsort_callback@1@I@Z)" in Funktion ""public: void __thiscall pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_stable_t<class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper>(class pfc::list_impl_t<class service_ptr_t<class metadb_handle>,class pfc::array_t<class service_ptr_t<class metadb_handle>,class pfc::alloc_fast> >::sort_callback_wrapper)" (??$sort_stable_t@Vsort_callback_wrapper@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@@?$list_impl_t@V?$service_ptr_t@Vmetadb_handle@@@@V?$array_t@V?$service_ptr_t@Vmetadb_handle@@@@Valloc_fast@pfc@@@pfc@@@pfc@@QAEXVsort_callback_wrapper@01@@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl pfc::sort_stable(class pfc::sort_callback &,unsigned int)" (?sort_stable@pfc@@YAXAAVsort_callback@1@I@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const contextmenu_manager::class_guid" (?class_guid@contextmenu_manager@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static unsigned int __cdecl service_factory_base::enum_get_count(void const *)" (?enum_get_count@service_factory_base@@SAIPBX@Z)" in Funktion ""public: unsigned int __thiscall service_class_helper_t<class contextmenu_manager>::get_count(void)const " (?get_count@?$service_class_helper_t@Vcontextmenu_manager@@@@QBEIXZ)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const titleformat_compiler::class_guid" (?class_guid@titleformat_compiler@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playlist_manager::class_guid" (?class_guid@playlist_manager@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const play_callback_manager::class_guid" (?class_guid@play_callback_manager@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const playback_control::class_guid" (?class_guid@playback_control@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const columns_ui::control::class_guid" (?class_guid@control@columns_ui@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: static bool __cdecl service_factory_base::enum_create(class service_ptr_t<class service_base> &,void const *,unsigned int)" (?enum_create@service_factory_base@@SA_NAAV?$service_ptr_t@Vservice_base@@@@PBXI@Z)" in Funktion ""public: bool __thiscall service_class_helper_t<class contextmenu_manager>::create(class service_ptr_t<class contextmenu_manager> &,unsigned int)const " (?create@?$service_class_helper_t@Vcontextmenu_manager@@@@QBE_NAAV?$service_ptr_t@Vcontextmenu_manager@@@@I@Z)".
trackinfo_dnd.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static bool __cdecl service_factory_base::enum_create(class service_ptr_t<class service_base> &,void const *,unsigned int)" (?enum_create@service_factory_base@@SA_NAAV?$service_ptr_t@Vservice_base@@@@PBXI@Z)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct _GUID const componentversion::class_guid" (?class_guid@componentversion@@2U_GUID@@B)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * __cdecl core_api::get_my_file_name(void)" (?get_my_file_name@core_api@@YAPBDXZ)" in Funktion ""public: virtual void __thiscall componentversion_impl_simple::get_file_name(class pfc::string_base &)" (?get_file_name@componentversion_impl_simple@@UAEXAAVstring_base@pfc@@@Z)".
foo_uie_trackinfo.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""bool __cdecl core_api::are_services_available(void)" (?are_services_available@core_api@@YA_NXZ)" in Funktion ""protected: __thiscall service_factory_base::~service_factory_base(void)" (??1service_factory_base@@IAE@XZ)".
foo_uie_trackinfo.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static class service_factory_base * service_factory_base::__internal__list" (?__internal__list@service_factory_base@@2PAV1@A)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall pfc::format_int::format_int(__int64,unsigned int,unsigned int)" (??0format_int@pfc@@QAE@_JII@Z)" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uChooseColor@12" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uGetDlgItemText@12" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uSendDlgItemMessageText@20" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__uSetDlgItemText@12" in Funktion ""private: int __stdcall trackinfo_preferences::on_message(struct HWND__ *,unsigned int,unsigned int,long)" (?on_message@trackinfo_preferences@@AAGHPAUHWND__@@IIJ@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::stringcvt::convert_wide_to_utf8(char *,unsigned int,wchar_t const *,unsigned int)" (?convert_wide_to_utf8@stringcvt@pfc@@YAIPADIPB_WI@Z)" in Funktion ""public: void __thiscall pfc::stringcvt::string_utf8_from_wide_t<class pfc::alloc_standard>::convert(wchar_t const *,unsigned int)" (?convert@?$string_utf8_from_wide_t@Valloc_standard@pfc@@@stringcvt@pfc@@QAEXPB_WI@Z)".
trackinfo_prefs.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""unsigned int __cdecl pfc::stringcvt::estimate_wide_to_utf8(wchar_t const *,unsigned int)" (?estimate_wide_to_utf8@stringcvt@pfc@@YAIPB_WI@Z)" in Funktion ""public: void __thiscall pfc::stringcvt::string_utf8_from_wide_t<class pfc::alloc_standard>::convert(wchar_t const *,unsigned int)" (?convert@?$string_utf8_from_wide_t@Valloc_standard@pfc@@@stringcvt@pfc@@QAEXPB_WI@Z)".
U:\SDK\foobar2000\foo_uie_trackinfo\Debug\trackinfo_panel.dll : fatal error LNK1120: 49 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://u:\SDK\foobar2000\foo_uie_trackinfo\Debug\BuildLog.htm" gespeichert.
trackinfo_panel - 61 Fehler, 35 Warnung(en)
I am not 100% sure but i believe that some linker errors show up because of the fact that the protect is the wrong type. so i think you somehow have to tell VC8 to make it a dll project.

compile foo_uie_trackinfo

Reply #9
I am not 100% sure but i believe that some linker errors show up because of the fact that the protect is the wrong type. so i think you somehow have to tell VC8 to make it a dll project.

I did what you posted before. I created an empty console app and then chose dll project. Then I added the trackinfopanel files.

I've numbered this one 0.8.2 for a really small bugfix (detailed in the readmes).
So maybe I will not have to do the job myself...  Would you please fix the panels refresh problem? You know it does not refresh on follow cursor mode when changing the playlists. A patch is here: http://www.hydrogenaudio.org/forums/index....st&p=403706

EDIT: Woohooo you already have fixed it...!

compile foo_uie_trackinfo

Reply #10
Quote
I am not 100% sure but i believe that some linker errors show up because of the fact that the protect is the wrong type. so i think you somehow have to tell VC8 to make it a dll project.

No, you have to set up project dependencies and also instruct the linker to use shared.lib.