[sldev] Building (Snowglobe) on VC++2008 Express - boost okay, encoding problems, llmozlib hell?
Kakurady Drakenar
kakurady at gmail.com
Thu Aug 20 06:16:36 PDT 2009
All right, I was trying to build Snowglobe with MSVC++2008 Express three
times and failed three times.
The first time from the vanilla source provided by the Lab. Needless to
say the Boost libraries didn't match. At linking stage I had errors like
this:
|12>libboost_program_options-vc80-mt-1_34_1.lib(cmdline.obj) : error
LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class
std::_String_iterator,class std::allocator > __thiscall
std::basic_string,class std::allocator >::erase(class
std::_String_iterator,class std::allocator >)"
(__imp_?erase@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE?AV?$_String_iterator at DU?$char_traits at D@std@@V?$allocator at D@2@@2 at V32@@Z),
该符号在函数 "public: class std::vector,class std::allocator > >
__thiscall
boost::program_options::detail::cmdline::parse_short_option(class
std::vector,class std::allocator >,class std::allocator,class
std::allocator > > > &)"
(?parse_short_option at cmdline@detail at program_options@boost@@QAE?AV?$vector at V?$basic_option at D@program_options at boost@@V?$allocator at V?$basic_option at D@program_options at boost@@@std@@@std@@AAV?$vector at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@V?$allocator at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@2@@6@@Z)
中被引用|
So instead of being stuck in a endless loop, the program won't link at all.
The second time I built my own Boost libs, but by mistake, instead of
1.34.1 I used version 1.39.0. It didn't even compile.
|12>------ 已启动生成: 项目: llui, 配置: RelWithDebInfo Win32 ------
12>正在编译...
12>llalertdialog.cpp
9>llcommon.cpp
9>llbase64.cpp
9>llbase32.cpp
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(370) : error C2589: “(”: “::”右边的非法标记
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(370) : error C2059: 语法错误 : “::”
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(390) : error C2589: “(”: “::”右边的非法标记
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(390) : error C2059: 语法错误 : “::”
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(395) : error C2589: “(”: “::”右边的非法标记
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(395) : error C2059: 语法错误 : “::”
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(400) : error C2589: “(”: “::”右边的非法标记
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(400) : error C2059: 语法错误 : “::”
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(405) : error C2589: “(”: “::”右边的非法标记
12>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\complex(405) : error C2059: 语法错误 : “::”|
The third time I got the 1.34.1 boost libs and in there are a couple of
files that doesn't read in codepage 936. In addition to the one named in
VWR-12427, utilities/enable_if.hpp, lexical_cast.hpp, tokenizer.hpp, the
whole numeric/conversion/, a utf8_codecvt_facet.cpp and two
utf8_codecvt_facet.hpp has to be converted to UTF-8. Then I built and
placed the boost binaries by following instructions from
http://wiki.secondlife.com/wiki/User:Jodiah_Jensen.
Everything went smoothly afterwards, except... fmod is not needed, but
it's in the linker configs. Okay, remove that. Still doesn't work
because llmozlib was built with VS2005:
1>------ 已启动生成: 项目: secondlife-bin, 配置: Debug Win32 ------
1>Setting the secondlife-bin working directory for debugging.
1>Editing solution: C:/Users/Kakurady/dev/snowglobe/working/linden/indra/build-VC90/SecondLife.sln
1>Looking for existing VisualStudio instance...
1> Didn't find open solution, starting new background VisualStudio instance...
1> Reading .sln file version...
1> Using version: VC90...
1>值不能为空。
1>参数名: type
1>Quitting do to error opening: C:\Users\Kakurady\dev\snowglobe\working\linden\indra\build-VC90\SecondLife.sln
1>Verifying message template
1>master: http://secondlife.com/app/message_template/master_message_template.msg
1>current: C:\Users\Kakurady\dev\snowglobe\working\linden\scripts\messages\message_template.msg
1>--- PASS ---
1>Older
1> in message DirPopularReply: is less deprecated: NotDeprecated vs. Deprecated in base
1> in message DirPopularQueryBackend: is less deprecated: NotDeprecated vs. Deprecated in base
1> in message ViewerStats: is less deprecated: NotDeprecated vs. UDPDeprecated in base
1> in message ChildAgentUpdate: missing 1 extra blocks
1> in message DirPopularQuery: is less deprecated: NotDeprecated vs. Deprecated in base
1> in message RequestParcelTransfer: missing 1 extra blocks
1>
1>C:\Users\Kakurady\dev\snowglobe\working\linden\indra\lib\python\indra\ipc\llmessage.py:29: DeprecationWarning: the sets module is deprecated
1> from sets import Set, ImmutableSet
1>正在链接...
1> 正在创建库 C:\Users\Kakurady\dev\snowglobe\working\linden\indra\build-VC90\newview\Debug\secondlife-bin.lib 和对象 C:\Users\Kakurady\dev\snowglobe\working\linden\indra\build-VC90\newview\Debug\secondlife-bin.exp
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_ParserFree 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_ErrorString 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_GetCurrentByteCount 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_GetCurrentByteIndex 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_GetCurrentColumnNumber 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_GetCurrentLineNumber 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_GetErrorCode 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_Parse 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_SetUserData 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_SetCharacterDataHandler 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_SetElementHandler 在函数 _xml_elem_parse_buf 中导入
1>xmlrpcepi.lib(xml_element.obj) : warning LNK4217: 本地定义的符号 _XML_ParserCreate 在函数 _xml_elem_parse_buf 中导入
1>llmozlib2d-vc80.lib(llmozlib2.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base at std@@QAE at XZ),该符号在函数 "public: __thiscall std::_Tmap_traits,class std::allocator >,0>::~_Tmap_traits,class std::allocator >,0>(void)" (??1?$_Tmap_traits at HPAVLLEmbeddedBrowserWindow@@U?$less at H@std@@V?$allocator at U?$pair@$$CBHPAVLLEmbeddedBrowserWindow@@@std@@@3@$0A@@std@@QAE at XZ) 中被引用
1>llmozlib2d-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base at std@@QAE at XZ)
1>llmozlib2d-vc80.lib(llmozlib2.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)" (__imp_??0_Container_base at std@@QAE at XZ),该符号在函数 "public: __thiscall std::_Tmap_traits,class std::allocator >,0>::_Tmap_traits,class std::allocator >,0>(struct std::less)" (??0?$_Tmap_traits at HPAVLLEmbeddedBrowserWindow@@U?$less at H@std@@V?$allocator at U?$pair@$$CBHPAVLLEmbeddedBrowserWindow@@@std@@@3@$0A@@std@@QAE at U?$less at H@1@@Z) 中被引用
1>llmozlib2d-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)" (__imp_??0_Container_base at std@@QAE at XZ)
1>C:\Users\Kakurady\dev\snowglobe\working\linden\indra\build-VC90\newview\Debug\secondlife-bin.exe : fatal error LNK1120: 2 个无法解析的外部命令
1>生成日志保存在“file://c:\Users\Kakurady\dev\snowglobe\working\linden\indra\build-VC90\newview\secondlife-bin.dir\Debug\BuildLog.htm”
1>secondlife-bin - 5 个错误,12 个警告
========== 生成: 成功 0 个,失败 1 个,最新 22 个,跳过 0 个 ==========
I'm no C++ dev, so I'm not sure where to go next. I could build llmozlib
from scratch, but I may not succeed and I think it takes really, really
long.
Kakurady / Geneko Nemeth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20090820/1dd1ac5f/attachment-0001.htm
More information about the SLDev
mailing list