0
我正在嘗試使用M的交叉環境(MXE),也就是說,Mingw在Windows下爲Windows構建一個應用程序。然而,我遇到了一個問題:從我嘗試使用的庫中引用函數仍然沒有解決。Mingw在dll中找不到符號
下面是命令行輸出:
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中編譯)。
會做和報告結果 – Srv19