使用 MSVC 在 Win32 上构建 QtWebKit 时出错的链接器
Linker error building QtWebKit on Win32 with MSVC
Qt 版本是 qt-everywhere-opensource-src-5.1.1
ICU 版本是 icu4c-51_2-Win32-msvc10
C:Qtqtwebkit>echo %include% c:Program Files (x86)Microsoft Visual Studio 10.0VCINCLUDE;c:Program Files (x86)Microsoft Visual Studio 10.0VCATLMFCINCLUDE;C:Program Files (x86)Microsoft SDKsWindowsv7.0Ainclude;;C:Qticuinclude;
C:Qtqtwebkit>echo %lib%
c:Program Files (x86)Microsoft Visual Studio 10.0VCLIB;c:Program Files (x86)Microsoft Visual Studio 10.0VCATLMFCLIB;C:Program Files (x86)Microsoft SDKsWindowsv7.0Alib;;C:QtangleprojectlibDebug;;C:Qticulib;;C:Qtqtbase
lib;;C:QtqtwebkitWebKitBuildReleaselib;
C:Qtqtwebkit>perl ToolsScriptsbuild-webkit --qt --debug
似乎编译正常,然后链接器错误...
echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ "..\..\bin\jsc.exe.embed.manifest">....
binjsc.exe_manifest.rc
if not exist ....binjsc.exe if exist ....binjsc.exe.embed.manifest del ....binjsc.exe.embed.manifest
if exist ....binjsc.exe.embed.manifest copy /Y ....binjsc.exe.embed.manifest ....binjsc.exe_manifest.ba
k
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.
Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MA
NIFEST /MANIFESTFILE:....binjsc.exe.embed.manifest /OUT:....binjsc.exe @C:UserspatrickAppDataLocalTempnm1547
.tmp
Creating library ....binjsc.lib and object ....binjsc.exp
JavaScriptCored.lib(JSGlobalObjectFunctions.obj) : error LNK2019: unresolved external symbol _u_charType_51 referenced i
n function "bool __cdecl WTF::Unicode::isSeparatorSpace(int)" (?isSeparatorSpace@Unicode@WTF@@YA_NH@Z)
JavaScriptCored.lib(FunctionPrototype.obj) : error LNK2001: unresolved external symbol _u_charType_51
JavaScriptCored.lib(Lexer.obj) : error LNK2001: unresolved external symbol _u_charType_51
JavaScriptCored.lib(DatePrototype.obj) : error LNK2019: unresolved external symbol _udat_close_51 referenced in function
"class JSC::JSCell * __cdecl JSC::formatLocaleDate(class JSC::ExecState *,class JSC::DateInstance *,double,enum JSC::Lo
caleDateTimeFormat)" (?formatLocaleDate@JSC@@YAPAVJSCell@1@PAVExecState@1@PAVDateInstance@1@NW4LocaleDateTimeFormat@1@@Z
)
JavaScriptCored.lib(DatePrototype.obj) : error LNK2019: unresolved external symbol _udat_format_51 referenced in functio
n "class JSC::JSCell * __cdecl JSC::formatLocaleDate(class JSC::ExecState *,class JSC::DateInstance *,double,enum JSC::L
ocaleDateTimeFormat)" (?formatLocaleDate@JSC@@YAPAVJSCell@1@PAVExecState@1@PAVDateInstance@1@NW4LocaleDateTimeFormat@1@@
Z)
JavaScriptCored.lib(DatePrototype.obj) : error LNK2019: unresolved external symbol _udat_open_51 referenced in function
"class JSC::JSCell * __cdecl JSC::formatLocaleDate(class JSC::ExecState *,class JSC::DateInstance *,double,enum JSC::Loc
aleDateTimeFormat)" (?formatLocaleDate@JSC@@YAPAVJSCell@1@PAVExecState@1@PAVDateInstance@1@NW4LocaleDateTimeFormat@1@@Z)
JavaScriptCored.lib(YarrInterpreter.obj) : error LNK2019: unresolved external symbol _u_tolower_51 referenced in functio
n "int __cdecl WTF::Unicode::toLower(int)" (?toLower@Unicode@WTF@@YAHH@Z)
WTFd.lib(StringImpl.obj) : error LNK2001: unresolved external symbol _u_tolower_51
JavaScriptCored.lib(YarrInterpreter.obj) : error LNK2019: unresolved external symbol _u_toupper_51 referenced in functio
n "int __cdecl WTF::Unicode::toUpper(int)" (?toUpper@Unicode@WTF@@YAHH@Z)
WTFd.lib(StringImpl.obj) : error LNK2001: unresolved external symbol _u_toupper_51
WTFd.lib(WTFString.obj) : error LNK2019: unresolved external symbol _u_charDirection_51 referenced in function "enum WTF
::Unicode::Direction __cdecl WTF::Unicode::direction(int)" (?direction@Unicode@WTF@@YA?AW4Direction@12@H@Z)
WTFd.lib(StringImpl.obj) : error LNK2001: unresolved external symbol _u_charDirection_51
WTFd.lib(StringImpl.obj) : error LNK2019: unresolved external symbol _u_strToLower_51 referenced in function "int __cdec
l WTF::Unicode::toLower(wchar_t *,int,wchar_t const *,int,bool *)" (?toLower@Unicode@WTF@@YAHPA_WHPB_WHPA_N@Z)
WTFd.lib(StringImpl.obj) : error LNK2019: unresolved external symbol _u_strToUpper_51 referenced in function "int __cdec
l WTF::Unicode::toUpper(wchar_t *,int,wchar_t const *,int,bool *)" (?toUpper@Unicode@WTF@@YAHPA_WHPB_WHPA_N@Z)
WTFd.lib(StringImpl.obj) : error LNK2019: unresolved external symbol _u_strFoldCase_51 referenced in function "int __cde
cl WTF::Unicode::foldCase(wchar_t *,int,wchar_t const *,int,bool *)" (?foldCase@Unicode@WTF@@YAHPA_WHPB_WHPA_N@Z)
WTFd.lib(StringImpl.obj) : error LNK2019: unresolved external symbol _u_foldCase_51 referenced in function "int __cdecl
WTF::Unicode::foldCase(int)" (?foldCase@Unicode@WTF@@YAHH@Z)
WTFd.lib(StringImpl.obj) : error LNK2019: unresolved external symbol _u_memcasecmp_51 referenced in function "int __cdec
l WTF::Unicode::umemcasecmp(wchar_t const *,wchar_t const *,int)" (?umemcasecmp@Unicode@WTF@@YAHPB_W0H@Z)
WTFd.lib(CollatorICU.obj) : error LNK2019: unresolved external symbol _ucol_strcoll_51 referenced in function "public: e
num WTF::Collator::Result __thiscall WTF::Collator::collate(wchar_t const *,unsigned int,wchar_t const *,unsigned int)co
nst " (?collate@Collator@WTF@@QBE?AW4Result@12@PB_WI0I@Z)
WTFd.lib(CollatorICU.obj) : error LNK2019: unresolved external symbol _ucol_setAttribute_51 referenced in function "priv
ate: void __thiscall WTF::Collator::createCollator(void)const " (?createCollator@Collator@WTF@@ABEXXZ)
WTFd.lib(CollatorICU.obj) : error LNK2019: unresolved external symbol _ucol_open_51 referenced in function "private: voi
d __thiscall WTF::Collator::createCollator(void)const " (?createCollator@Collator@WTF@@ABEXXZ)
WTFd.lib(CollatorICU.obj) : error LNK2019: unresolved external symbol _ucol_getAttribute_51 referenced in function "priv
ate: void __thiscall WTF::Collator::createCollator(void)const " (?createCollator@Collator@WTF@@ABEXXZ)
WTFd.lib(CollatorICU.obj) : error LNK2019: unresolved external symbol _ucol_getLocaleByType_51 referenced in function "p
rivate: void __thiscall WTF::Collator::createCollator(void)const " (?createCollator@Collator@WTF@@ABEXXZ)
WTFd.lib(CollatorICU.obj) : error LNK2019: unresolved external symbol _ucol_close_51 referenced in function "private: vo
id __thiscall WTF::Collator::releaseCollator(void)" (?releaseCollator@Collator@WTF@@AAEXXZ)
....binjsc.exe : fatal error LNK1120: 18 unresolved externals
NMAKE : fatal error U1077: '"c:Program Files (x86)Microsoft Visual Studio 10.0VCBINlink.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"c:Program Files (x86)Microsoft Visual Studio 10.0VCBINnmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '(' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
Qt5 不适用于 QGIS,这就是我最初想要它的原因。
我和你有同样的问题,我用这种方式解决它:
如何使用OpenSSL支持构建Qt5
nmake clean
configure -developer-build -opensource -nomake examples -nomake tests -mp -confirm-license -opengl desktop -openssl-linked OPENSSL_LIBS="-lssleay32 -llibeay32" -I C:Build-OpenSSL-VC-32include -L C:Build-OpenSSL-VC-32lib -L "C:Program FilesMicrosoft SDKsWindowsv6.0ALib" -l Gdi32 -l User32
nmake
相关文章:
- 读取文件的最后一行并输入到链接列表时出错
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 在发布模式下启动使用库的静态链接编译的应用程序时出错
- 编译时出错 - 链接.cpp和头文件
- 将 boost 与 Visual Studio 和 vcpkg 链接时出错
- 获取链接 创建flyweight_pattern时出错
- 从Qt5链接MySQL时出错
- 迭代器关系运算符出错(带单独链接和迭代器的自定义哈希表)
- 与 glfw3 链接时出错
- GNU 链接器:如果头文件中的指针被声明为 NULL 和/或 extern,则出错
- 可能的 GCC 链接器错误会导致将弱符号和局部符号链接在一起时出错
- 使用提升库和 clion 链接时出错
- 在 Fedora 27 中构建 GLFW 时链接期间出错
- 将 CLANG 构建的可执行文件与 G++-v6 构建的 Boost 库链接时出错
- 链接 gtest 项目时出错
- 链接webrtc本机时出错,因为未定义对具有std::string的方法的引用
- wxwidget 3.1.2 代码块 17.04 在链接步骤中出错
- 链接Firebase C (分析)库时出错
- 在Windows上使用GCC的链接时间优化构建wxWidgets DLL时出错
- 生成mpi2时出错-链接libboost_system时出错