Hi all,
   I want to build QEMU 4.2.0 with the plugin module on Windows 7 
with Mingw, but the building process faild.  
   The step I follow is listed below:
1. create "dsp_build" diretory under source file folder 


2.   change directory to dsp_build , and run ../configure  
--target-list=dsp-softmmu --cross-prefix=x86_64-w64-mingw32-  --enable-gtk 
--enable-sdl --enable-debug --enable-plugins
3. build qemu project 
4. running "make -C tests/plugin", yeilds error:  
   CC      bb.o
 D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:17:24:
  error: variable 'qemu_plugin_version' definition is marked dllimport
   17 | QEMU_PLUGIN_EXPORT int qemu_plugin_version = 
QEMU_PLUGIN_VERSION;
      |                
        ^~~~~~~~~~~~~~~~~~~
 D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:17:24:
  warning: 'qemu_plugin_version' redeclared without dllimport attribute:  
previous dllimport ignored [-Wattributes]


5.   I modified the QEMU_CFLAGS and the compilation command 
arguments($(CC) ..) in  the  makefile :


                BUILD_DIR := $(CURDIR)/../..


                include $(BUILD_DIR)/config-host.mak
                include $(SRC_PATH)/rules.mak


                $(call set-vpath, $(SRC_PATH)/tests/plugin)


                NAMES :=
                NAMES += bb
                NAMES += empty
                NAMES += insn
                NAMES += mem
                NAMES += hotblocks
                NAMES += howvec
                NAMES += hotpages


                SONAMES := $(addsuffix .so,$(addprefix lib,$(NAMES)))


                QEMU_CFLAGS += -fPIC     -DBUILDING_DLL            
#added  -DBUILDING_DLL 
                QEMU_CFLAGS += -I$(SRC_PATH)/include/qemu


                all: $(SONAMES)


                lib%.so: %.o
                        $(CC) -fPIC -shared -o $@ $^ $(LIBS) 
                        # original command : $(CC) -shared -Wl,-soname,$@ -o $@ 
$^ $(LDLIBS)


6.  Executing make yeilds:


make: enter  
 ??/d/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/build_dsp/tests/plugin??
  CC      bb.o
x86_64-w64-mingw32-gcc -fPIC -shared -o libbb.so bb.o  -L 
/c/msys64/mingw64/lib/ -lglib-2.0
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  bb.o: in function `plugin_exit':
D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:28: 
undefined reference to `qemu_plugin_outs'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:29:  
undefined reference to `__stack_chk_fail'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  bb.o: in function `vcpu_tb_trans':
D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:41: 
undefined reference to `qemu_plugin_tb_n_insns'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:44:  
undefined reference to `qemu_plugin_register_vcpu_tb_exec_inline'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:46:  
undefined reference to `qemu_plugin_register_vcpu_tb_exec_inline'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:49:  
undefined reference to `qemu_plugin_register_vcpu_tb_exec_cb'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
  bb.o: in function `qemu_plugin_install':
D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:63:  
undefined reference to `qemu_plugin_register_vcpu_tb_trans_cb'
collect2.exe: error: ld returned 1 exit status


    It is linker error, but I have no idea what goes wrong. My  
collegue can build plugins on Ubuntu without any  problem.  Any advise to 
build Plugins on Windows ? 
   Thanks.
regards,
xiaolei

Reply via email to