Xiaolei <1885...@bugs.launchpad.net> writes:
> If I keep "-Wl,-soname,$@" in the command , I got similar linking errors. > > makefile: > SONAMES := $(addsuffix .dll,$(addprefix lib,$(NAMES))) > > QEMU_CFLAGS += -fPIC -fno-stack-protector -DBUILDING_DLL > QEMU_CFLAGS += -I$(SRC_PATH)/include/qemu > > all: $(SONAMES) > lib%.dll: %.o > $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS) > > output: > x86_64-w64-mingw32-gcc -shared -Wl,-soname,libbb.dll -o libbb.dll bb.o > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > bb.o: in function `g_autoptr_cleanup_generic_gfree': > C:/msys64/mingw64/include/glib-2.0/glib/glib-autocleanups.h:28: undefined > reference to `g_free' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > bb.o: in function `plugin_exit': > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:27: undefined reference to > `g_strdup_printf' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:29: undefined reference > to `qemu_plugin_outs' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > bb.o: in function `vcpu_tb_trans': > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:42: undefined reference to > `qemu_plugin_tb_n_insns' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:45: undefined reference > to `qemu_plugin_register_vcpu_tb_exec_inline' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:47: undefined reference > to `qemu_plugin_register_vcpu_tb_exec_inline' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:50: undefined reference > to `qemu_plugin_register_vcpu_tb_exec_cb' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > bb.o: in function `qemu_plugin_install': > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:64: undefined reference to > `qemu_plugin_register_vcpu_tb_trans_cb' > C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: > C:/QRS_Project/simdsp/qemu-4.2.0/tests/plugin/bb.c:65: undefined reference > to `qemu_plugin_register_atexit_cb' > collect2.exe: error: ld returned 1 exit status Cc'ing Emilio as he wrote the initial code so I assume built it at one point. -- Alex Bennée