Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

unresolved external symbol with glib and VS C++

Tags:

c

visual-c++

Compiling FluidSynth 1.1.1 from source. I have unresolved external symbol with glib, using Visual C++ Express 2010, how do I actually link the glib.lib correctly in the IDE? Do I need wsock libraries as well?

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 __imp__recv@16 referenced in function _fluid_istream_gets
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__send@16 referenced in function _fluid_ostream_printf
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function _fluid_socket_close
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function _fluid_server_socket_run
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__inet_ntoa@4 referenced in function _fluid_server_socket_run
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__accept@12 referenced in function _fluid_server_socket_run
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__listen@8 referenced in function _new_fluid_server_socket
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__bind@12 referenced in function _new_fluid_server_socket
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__htonl@4 referenced in function _new_fluid_server_socket
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__htons@4 referenced in function _new_fluid_server_socket
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _new_fluid_server_socket
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__socket@12 referenced in function _new_fluid_server_socket
1>fluid_sys.obj : error LNK2019: unresolved external symbol __imp__WSAStartup@8 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 ==========
like image 558
Proyb2 Avatar asked Nov 23 '10 02:11

Proyb2


People also ask

How do I fix unresolved external symbol?

So when we try to assign it a value in the main function, the linker doesn't find the symbol and may result in an “unresolved external symbol” or “undefined reference”. The way to fix this error is to explicitly scope the variable using '::' outside the main before using it.

What kind of an error is an unresolved external reference?

Answer. Unresolved external references occur when the symbol for a function or global variable is referenced in a program, but none of the object files or libraries specified in the link step contain a definition for that symbol.


1 Answers

Since you have already resolved most of your problems, and are just missing the winsock stuff.

You need to install the Windows Platform SDK, which will install a lot of libraries. In the install location's lib directory will be the file ws2_32.lib, which is the Winsock2 library you want to link against.

like image 99
逆さま Avatar answered Oct 16 '22 13:10

逆さま