C++ Mingw在dll中找不到符号

C++ Mingw在dll中找不到符号,c++,mingw,dynamic-linking,mxe,C++,Mingw,Dynamic Linking,Mxe,我正在尝试使用M cross environment(MXE),即Mingw,从Linux for windows下构建一个应用程序。然而,我遇到了一个问题:对我试图使用的库中函数的引用仍然没有解决 以下是命令行输出: i686-pc-mingw32-g++ -Wl,-s -mthreads -Wl,-subsystem,windows -o release/LPR_Demo.exe object_script.LPR_Demo.Release -L'/home/truskov/mxe/usr

我正在尝试使用M cross environment(MXE),即Mingw,从Linux for windows下构建一个应用程序。然而,我遇到了一个问题:对我试图使用的库中函数的引用仍然没有解决

以下是命令行输出:

i686-pc-mingw32-g++ -Wl,-s -mthreads -Wl,-subsystem,windows -o
release/LPR_Demo.exe object_script.LPR_Demo.Release 
-L'/home/truskov/mxe/usr/i686-pc-mingw32/qt/lib' -lmingw32 -lqtmain -L/home/truskov/development/lprsdk/LPR/bin/ -lliblpr -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lmng -llcms -L/home/truskov/mxe/usr/i686-pc-mingw32/lib -ltiff -llzma -ljpeg -lQtCore -lpng -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz 

./release/main.o:main.cpp:(.text+0x6): undefined reference to `lpr::ILPR::getLicenseData()'
./release/main.o:main.cpp:(.text+0x15): undefined reference to
`lpr::ILPR::createInstance()' ./release/main.o:main.cpp:(.text+0x38):
undefined reference to `lpr::ILPR::getLicenseData()'
./release/main.o:main.cpp:(.text+0x42): undefined reference to
`lpr::ILPR::createInstance()'
/home/truskov/mxe/usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld:
./release/main.o: bad reloc address 0x19 in section
 `.text$_ZN7QStringD1Ev[__ZN7QStringD1Ev]'
/home/truskov/mxe/usr/lib/gcc/i686-pc-mingw32/4.8.0/../../../../i686-pc-mingw32/bin/ld:
final link failed: Invalid operation

同时,在
/home/truskov/development/lprsdk/LPR/bin/
中有
liblpr.lib
liblpr.dll
,它们确实包含所需的函数(在visual studio中,链接到它们没有问题)。这可能是什么原因?msvc编译器应该为此负责吗?(.lib和.dll是在Visual Studio中编译的)。

在Visual Studio中,转到项目属性-常规-项目默认值-字符集,然后关闭
UniCode
选项,重新构建相关库。

将执行此操作并报告结果