2010-11-23 8 views
8

Compilación de FluidSynth 1.1.1 desde la fuente. Tengo un símbolo externo no resuelto con glib, utilizando Visual C++ Express 2010, ¿cómo puedo realmente vincular correctamente el glib.lib en el IDE? ¿También necesito bibliotecas wsock?símbolo externo no resuelto con glib y VS C++

1>------ Build started: Project: fluidsynth_dll, Configuration: Release Win32 ------ 
2>------ Build started: Project: fluidsynth_lib, Configuration: Release Win32 ------ 
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth_dll\.\Release\fluidsynth_dll.dll) does not match the Linker's OutputFile property value (C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). 
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(fluidsynth_dll) does not match the Linker's OutputFile property value (fluidsynth). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). 
2> fluid_adriver.c 
1>  Creating library .\Release/fluidsynth.lib and object .\Release/fluidsynth.exp 
1>fluid_voice.obj : error LNK2019: unresolved external symbol _g_atomic_int_add referenced in function _new_fluid_voice 
1>fluid_chan.obj : error LNK2001: unresolved external symbol _g_atomic_int_add 
1>fluid_hash.obj : error LNK2001: unresolved external symbol _g_atomic_int_add 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_atomic_int_add 
1>fluid_tuning.obj : error LNK2001: unresolved external symbol _g_atomic_int_add 
1>fluid_chan.obj : error LNK2019: unresolved external symbol _g_atomic_int_compare_and_exchange referenced in function _fluid_channel_set_sfont_bank_prog 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_atomic_int_compare_and_exchange 
1>fluid_synth.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_sys.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_winmidi.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_cmd.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_event.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_seq.obj : error LNK2001: unresolved external symbol __imp__g_thread_functions_for_glib_use 
1>fluid_cmd.obj : error LNK2019: unresolved external symbol _g_static_mutex_get_mutex_impl referenced in function _fluid_server_add_client 
1>fluid_event.obj : error LNK2001: unresolved external symbol _g_static_mutex_get_mutex_impl 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol _g_static_mutex_get_mutex_impl 
1>fluid_seq.obj : error LNK2001: unresolved external symbol _g_static_mutex_get_mutex_impl 
1>fluid_settings.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_synth.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_sys.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_winmidi.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_cmd.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_event.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_seq.obj : error LNK2001: unresolved external symbol __imp__g_threads_got_initialized 
1>fluid_cmd.obj : error LNK2019: unresolved external symbol _g_static_mutex_init referenced in function _new_fluid_server 
1>fluid_event.obj : error LNK2001: unresolved external symbol _g_static_mutex_init 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol _g_static_mutex_init 
1>fluid_seq.obj : error LNK2001: unresolved external symbol _g_static_mutex_init 
1>fluid_settings.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_thread_init referenced in function _fluid_synth_cc_LOCAL 
1>fluid_sys.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_winmidi.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_cmd.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_event.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_seq.obj : error LNK2001: unresolved external symbol _g_thread_init 
1>fluid_event.obj : error LNK2019: unresolved external symbol _g_static_mutex_free referenced in function __fluid_evt_heap_free 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol _g_static_mutex_free 
1>fluid_seq.obj : error LNK2001: unresolved external symbol _g_static_mutex_free 
1>fluid_settings.obj : error LNK2019: unresolved external symbol _g_log referenced in function _new_fluid_str_setting 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_sys.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_tuning.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_event_queue.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_filerenderer.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_hash.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_midi_router.obj : error LNK2001: unresolved external symbol _g_log 
1>fluid_hash.obj : error LNK2019: unresolved external symbol _g_atomic_int_exchange_and_add referenced in function _fluid_hashtable_unref 
1>fluid_settings.obj : error LNK2019: unresolved external symbol _g_static_rec_mutex_free referenced in function _delete_fluid_settings 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_static_rec_mutex_free 
1>fluid_settings.obj : error LNK2019: unresolved external symbol _g_static_rec_mutex_unlock referenced in function _fluid_settings_get_type 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_static_rec_mutex_unlock 
1>fluid_settings.obj : error LNK2019: unresolved external symbol _g_static_rec_mutex_lock referenced in function _fluid_settings_get_type 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_static_rec_mutex_lock 
1>fluid_settings.obj : error LNK2019: unresolved external symbol _g_static_rec_mutex_init referenced in function _new_fluid_settings 
1>fluid_synth.obj : error LNK2001: unresolved external symbol _g_static_rec_mutex_init 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_static_private_free referenced in function _delete_fluid_synth 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_thread_self referenced in function _fluid_synth_alloc_voice 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_static_private_set referenced in function _fluid_synth_tuning_iteration_start 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_static_private_get referenced in function _fluid_synth_tuning_iteration_next 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_atomic_pointer_compare_and_exchange referenced in function _fluid_synth_get_event_queue 
1>fluid_synth.obj : error LNK2019: unresolved external symbol _g_static_private_init referenced in function _new_fluid_synth 
1>fluid_sys.obj : error LNK2019: unresolved external symbol _g_get_current_time referenced in function _fluid_curtime 
1>fluid_sys.obj : error LNK2019: unresolved external symbol _g_clear_error referenced in function _new_fluid_thread 
1>fluid_sys.obj : error LNK2019: unresolved external symbol _g_thread_create_full referenced in function _new_fluid_thread 
1>fluid_sys.obj : error LNK2019: unresolved external symbol _g_thread_join referenced in function _fluid_thread_join 
1>fluid_sys.obj : error LNK2019: unresolved external symbol _g_usleep referenced in function _fluid_timer_run 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _fluid_istream_gets 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _fluid_ostream_printf 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _fluid_socket_close 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _fluid_server_socket_run 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _fluid_server_socket_run 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _fluid_server_socket_run 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>fluid_sys.obj : error LNK2019: unresolved external symbol [email protected] referenced in function _new_fluid_server_socket 
1>../fluidsynth.dll : fatal error LNK1120: 38 unresolved externals 
3>------ Build started: Project: fluidsynth, Configuration: Release Win32 ------ 
2> fluid_aufile.c 
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth\.\Release\fluidsynth.exe) does not match the Linker's OutputFile property value (C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). 
2> fluid_chan.c 
2> fluid_chorus.c 
3> fluidsynth.vcxproj -> C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth\.\Release\fluidsynth.exe 
2> fluid_cmd.c 
2> fluid_conv.c 
2> fluid_defsfont.c 
2> fluid_dll.c 
2> fluid_dsound.c 
2> fluid_dsp_float.c 
2> fluid_event.c 
2> fluid_event_queue.c 
2> fluid_filerenderer.c 
2> fluid_gen.c 
2> fluid_hash.c 
2> fluid_list.c 
2> fluid_mdriver.c 
2> fluid_midi.c 
2> fluid_midi_router.c 
2> fluid_mod.c 
2> Generating Code... 
2> Compiling... 
2> fluid_ramsfont.c 
2> fluid_rev.c 
2> fluid_seq.c 
2> fluid_seqbind.c 
2> fluid_settings.c 
2> fluid_synth.c 
2> fluid_sys.c 
2> fluid_tuning.c 
2> fluid_voice.c 
2> fluid_winmidi.c 
2> Generating Code... 
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): warning MSB8012: TargetPath(C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth_lib\.\Release\fluidsynth_lib.lib) does not match the Library's OutputFile property value (C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth_lib.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile). 
2> fluidsynth_lib.vcxproj -> C:\Users\Wildfire\Desktop\fluidsynth-1.1.1\winbuild\fluidsynth_lib\.\Release\fluidsynth_lib.lib 
========== Build: 2 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 
+0

¿Qué versión de glibc tiene usted? Todos los símbolos externos faltantes son funciones atómicas/mutex que están en glibc 2.4 y más recientes. – birryree

+0

Lo siento, he resuelto para glib, gthread, etc. parte por enlace el * .lib en las propiedades del proyecto pero a la izquierda está la biblioteca winsock. ¿Dónde realmente descargo? – Proyb2

Respuesta

13

Dado que ya ha resuelto la mayoría de sus problemas, y solo le falta el material de winsock.

Necesita instalar el Windows Platform SDK, que instalará muchas bibliotecas. En el directorio lib de la ubicación de instalación se encontrará el archivo ws2_32.lib, que es la biblioteca de Winsock2 con la que desea establecer un enlace.

+0

¿Entonces el SDK no es compatible con XP SP2 sino con SP3? ¿WS2 se verá afectado por SP2? Tengo un problema con fluidsynth (compilado de QSynth) que no recibe sonido de Windows XP, con suerte, ¡cualquiera tiene la solución para que funcione! – Proyb2

6

Necesita vincular al archivo ws2_32.lib, que, como menciona birryree, es una biblioteca Winsock2. Sin embargo, si usted no sabe cómo vincular esto en, aquí están las instrucciones mencionadas en this MSDN Thread:

En las propiedades del proyecto:

Propiedades de configuración, enlazador, de entrada, dependencias adicionales.

A continuación, agregue ws2_32.lib a la lista separada por punto y coma.

Cuestiones relacionadas