【新手报到】请教一个问题,现在Windows开发环境仍然是使用VS 2010吗?有人尝试使用VS 2012不?

111 views
Skip to first unread message

blastmann

unread,
Mar 7, 2013, 7:28:33 AM3/7/13
to rime-...@googlegroups.com
请教一个问题,现在Windows开发环境仍然是使用VS 2010吗?有人尝试使用VS 2012不?小弟刚刚开始编译整个工程,貌似opencc库需要使用VS2012重新编译。

希望有人指导一下编译经验,如果开发环境使用VS 2012的话需要做修改大概有些什么呢?

弓辰

unread,
Mar 7, 2013, 7:40:55 AM3/7/13
to rime-...@googlegroups.com
opencc.dll 比較特殊,他使用Unix的編譯系統,在Windows上是在 msys 環境下用GCC編譯的。
換用VS2012,不需要重新製作 opencc.dll,只需重新生成對於的 .lib 文件。

這個命令可以藉助MinGW提供的 pexports 工具和MSVC提供的 lib 工具由 .dll 生成MSVC所需的 .lib 文件:



Sent with Sparrow

On 2013年3月7日Thursday at 下午8:28, blastmann wrote:

请教一个问题,现在Windows开发环境仍然是使用VS 2010吗?有人尝试使用VS 2012不?小弟刚刚开始编译整个工程,貌似opencc库需要使用VS2012重新编译。

希望有人指导一下编译经验,如果开发环境使用VS 2012的话需要做修改大概有些什么呢?

--
 
---
您已訂閱「Google 網上論壇」的「rime-devel」群組,因此我們特別傳送這封郵件通知您。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 rime-devel+...@googlegroups.com
如需更多選項,請前往:https://groups.google.com/groups/opt_out。
 
 

blastmann

unread,
Mar 7, 2013, 8:56:43 PM3/7/13
to rime-...@googlegroups.com
好的,我先自行测试测试

在 2013年3月7日星期四UTC+8下午8时40分55秒,佛振写道:

blastmann

unread,
Mar 7, 2013, 9:59:03 PM3/7/13
to rime-...@googlegroups.com
似乎在使用Boost 1.53的时候会出现很多的链接错误,建议仍然是使用1.47版吗?

在 2013年3月7日星期四UTC+8下午8时40分55秒,佛振写道:

blastmann

unread,
Mar 8, 2013, 1:09:53 AM3/8/13
to rime-...@googlegroups.com
我按照编译指南里面的顺序来编译,最后在编译librime的时候总是链接失败,下面节选编译rime_dictionary_manager中的错误信息:

2>librime.lib(config.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::locale __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)" (__imp_?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z) referenced in function "public: void __thiscall boost::io::detail::stream_format_state<char,struct std::char_traits<char> >::apply_on(class std::basic_ios<char,struct std::char_traits<char> > &,class std::locale *)const " (?apply_on@?$stream_format_state@DU?$char_traits@D@std@@@detail@io@boost@@QBEXAAV?$basic_ios@DU?$char_traits@D@std@@@std@@PAVlocale@6@@Z)
2>librime.lib(user_dict_manager.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::locale __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)" (__imp_?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z)
2>librime.lib(user_dictionary.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::locale __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)" (__imp_?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z)
2>librime.lib(key_event.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::locale __thiscall std::basic_ios<char,struct std::char_traits<char> >::imbue(class std::locale const &)" (__imp_?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z)
2>librime.lib(config.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)" (__imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z) referenced in function "public: void __thiscall boost::io::detail::stream_format_state<char,struct std::char_traits<char> >::apply_on(class std::basic_ios<char,struct std::char_traits<char> > &,class std::locale *)const " (?apply_on@?$stream_format_state@DU?$char_traits@D@std@@@detail@io@boost@@QBEXAAV?$basic_ios@DU?$char_traits@D@std@@@std@@PAVlocale@6@@Z)
2>librime.lib(user_dict_manager.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)" (__imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z)
2>librime.lib(user_dictionary.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)" (__imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z)
2>librime.lib(key_event.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(char)" (__imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z)
2>librime.lib(user_dict_manager.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned __int64)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z) referenced in function __catch$?Restore@UserDictManager@rime@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z$0
2>librime.lib(user_dictionary.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(unsigned __int64)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z)
2>librime.lib(poet.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z)
2>librime.lib(user_dict_manager.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z) referenced in function "void __cdecl boost::io::detail::put_last<char,struct std::char_traits<char>,double>(class std::basic_ostream<char,struct std::char_traits<char> > &,double const &)" (??$put_last@DU?$char_traits@D@std@@N@detail@io@boost@@YAXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@ABN@Z)
2>librime.lib(user_dictionary.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z)
2>librime.lib(algebra.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z)
2>librime.lib(translator_commons.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z)
2>librime.lib(ascii_composer.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(bool)" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z) referenced in function "protected: void __thiscall rime::AsciiComposer::SwitchAsciiMode(bool,enum rime::AsciiModeSwitchStyle)" (?SwitchAsciiMode@AsciiComposer@rime@@IAEX_NW4AsciiModeSwitchStyle@2@@Z)
2>D:\RimeIME\librime\vcbuild\bin\Debug\rime_dict_manager.exe : fatal error LNK1120: 5 unresolved externals

Google了好一段时间都没有找到方法,是不是工程里面的设置还没有设置好呢?求指导。 

在 2013年3月7日星期四UTC+8下午8时40分55秒,佛振写道:
Reply all
Reply to author
Forward
0 new messages