用mingw链接msvc生成的库时,无定义chkstk问题的解决
在用mingw鏈接msvc生成的庫時常常產(chǎn)生這樣的鏈接錯誤:
undefined reference to `_chkstk'
這是因為chkstk is a stack-probing thing that MSVC generates whenallocating big stack frames), and that GCC has an equivalent inlibgcc (called _alloca).也就是說msvc與mingw定義的名字不同一個叫chkstk,另一個叫alloca。所以mingw在鏈接時不能找到chkstk的定義。
解決辦法:
從visual studio 2008(2005,2003)中找出chkstk.obj,將其一起鏈接,問題解決。forexample:
D:\Qt\2009.02\mingw\bin\g++.exe -O3 -DNDEBUGCMakeFiles\xml2dcm.dir\xml2dcm.obj -o xml2dcm.exe-Wl,--out-implib,libxml2dcm.dll.a-Wl,--major-image-version,0,--minor-image-version,0-LE:\CURREN~2\PLANNI~1\DCMTK-~1.4AN\DCMTK-~1.4_E\dcmdata-LE:\CURREN~2\PLANNI~1\DCMTK-~1.4AN\DCMTK-~1.4_E\ofstd-LE:\CURREN~2\PLANNI~1\DCMTK-~1.4AN\DCMTK-~1.4-W\ZLIB-1~1.3\lib-LE:\CURREN~2\PLANNI~1\DCMTK-~1.4AN\DCMTK-~1.4-W\LIBXML~1.26\lib-LE:\CURREN~2\PLANNI~1\DCMTK-~1.4AN\DCMTK-~1.4_E\ofstd\libsrc-LE:\CURREN~2\PLANNI~1\DCMTK-~1.4AN\DCMTK-~1.4_E\dcmdata\libsrc-lnetapi32 ..\libsrc\libdcmdata.a ..\..\ofstd\libsrc\libofstd.a-llibxml2_o -liconv_o ..\libsrc\chkstk.obj -lwsock32 -lzlib_o
總結(jié)
以上是生活随笔為你收集整理的用mingw链接msvc生成的库时,无定义chkstk问题的解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一次办信用卡选哪家银行好
- 下一篇: s3c2440移植MQTT