1. 程式人生 > 其它 >unresolved external symbol ___chkstk_ms referenced in function _x264_vfprintf.isra.0 問題的解決

unresolved external symbol ___chkstk_ms referenced in function _x264_vfprintf.isra.0 問題的解決

在Visual Studio(VC++)中,使用mingw32 gcc編譯的庫檔案(*.a)

新增gcc編譯好的庫到連結依賴中之後,如果編譯出現:無法解析的外部符號, 例如:

Build started...

1>------ Build started: Project: x264Test, Configuration: Debug Win32 ------

1>x264Test.cpp

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___chkstk_ms referenced in function _x264_vfprintf.isra.0

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___umoddi3 referenced in function _x264_reduce_fraction64

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___udivdi3 referenced in function _x264_reduce_fraction64

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___mingw_vsscanf referenced in function _sscanf

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___mingw_vsprintf referenced in function _sprintf

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___mingw_vfprintf referenced in function _fprintf.constprop.0

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___mingw_vsnprintf referenced in function _x264_vfprintf.isra.0

1>libx264.a(base.o) : error LNK2019: unresolved external symbol _fseeko64 referenced in function _x264_slurp_file

1>libx264.a(base.o) : error LNK2019: unresolved external symbol _ftello64 referenced in function _x264_slurp_file

1>libx264.a(base.o) : error LNK2019: unresolved external symbol _strtok_r referenced in function _x264_param_parse

1>libx264.a(base.o) : error LNK2019: unresolved external symbol ___mingw_strtod referenced in function _x264_param_parse

1>D:\FPiano工作區\x264Test\Debug\x264Test.exe : fatal error LNK1120: 11 unresolved externals

1>Done building project "x264Test.vcxproj" -- FAILED.

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

需要複製:

C:\msys64\mingw32\lib\gcc\i686-w64-mingw32\11.2.0\libgcc.a

C:\msys64\mingw32\i686-w64-mingw32\lib\libmingwex.a(32位的)

C:\msys64\mingw64\x86_64-w64-mingw32\lib\libmingwex.a(64位的)

到工程目錄中。(或工程中包含其放置的目錄)

並設定連結依賴libgcc.a ,libmingwex.a

同理:

在Visual Studio(VC++)中,使用mingw32 gcc編譯的dll檔案,要新增相關的dll檔案到工程中。