查看: 11798|回复: 13
收起左侧

[其他] 全手动安装rime输入法 - 教程

[复制链接]
kxmp
发表于 2013-10-10 01:45:15 | 显示全部楼层 |阅读模式
本帖最后由 kxmp 于 2013-10-11 01:34 编辑

引用下别人的可怕经历
Linking CXX shared library ../lib/librime.so
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: /usr/local/lib/liaml-cpp.a(node.cpp.o): relocation R_X86_64_32 against `.bss' can not be used when making a sred object; recompile with -fPIC   #....shred obj.... 用的静态库还想去调用动态库.....  那我windows装个vc2010是不是能当2012的用.也就跨个版本啥的..应该没问题 也就打开程序出现个错误提示然后用不了而已
/usr/local/lib/libyaml-cpp.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status


还看见有人折腾到3-4点最后陷入无限循环的依赖问题中.然后以失败告终.
不过输入法这种东西没装过的话那的确是难度很高.
就算是都给你写出来你也未必能装好.
下载页面写的都有完整的依赖关系....还有许多人出各种问题...



下载地址:
http://code.google.com/p/rimeime/wiki/Downloads

Ibus-rime分为3个组件
brise-0.22,librime-0.9.9,ibus-rime-0.9.9
brise里面是输入法的默认配置文件和词库.
librime就是rime的库
ibus-rime-0.9.9是ibus-rime用户端,用来调用前面2个东西.

在这里强调一下安装此输入法的注意事项.
虽然文字没有多少.但是这些东西你要是不注意那你就别想顺利装上他.
编译yaml-cpp的时候要编译为动态库.否则librime编译的时候会出现无厘头错误...
其实也不是无厘头.只是不容易看到.
我编译的时候也遇到了那个错误..
编译停到了yaml-cpp.a这个文件上面
这就说明是他的问题, 经过了查阅.rime作者也说了要动态库才行.
手动安装动态库后别忘了使用ldconfig来更新动态库的缓存




首先来说安装顺序
前面已经说了
这玩意分为3个组件
现在咱就来看看先装哪一个后装哪一个...

La brise: the official Rime schema repository.

version: 0.22

project home: http://code.google.com/p/rimeime/

providing:
  - default.yaml: Rime default settings
  - symbols.yaml: punctuation and special characters
  - essay: a vocabulary and language model
  - preset schemata: luna_pinyin, terra_pinyin, bopomofo, cangjie5, cangjie5_express
  - supplemental schemata: wubi86, quick5, double_pinyin, combo_pinyin, jyutping, wugniu, ipa_xsampa
  - extra schemata: (included in the source package but not installed)

build dependencies:
  - kyotocabinet (for kctreemgr)
  - librime>=0.9.8 (for rime_deployer)
runtime dependency:
  - librime>=0.9.8

SHA1 Checksum:         4db489069615e6c1bf1135d71d35ab35f906d02e

build dependencies即为编译关联
里面有 kyotocabinet  librime这2个库.[这2个包都是动态库+开发库的]
要现有这2个东西才能开始编译.

要善用搜索引擎
https://www.google.com/#q=kyotocabinet
百度搜索到的第一个是自己的百科
google第一个搜到的是此项目的页面.

打开那个Fal实验室的页面
http://fallabs.com/kyotocabinet/
Packages
--Source Packages of the core library (C/C++)   //源码包
http://fallabs.com/kyotocabinet/pkg/

挑选出最新版本的kyotocabinet
http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz

然后来看librime
build dependencies:
  - cmake>=2.8
  - libboost>=1.46 (development package)
  - libglog (development package)
  - libkyotocabinet (development package)
  - libopencc (development package)
  - libyaml-cpp>=0.5 (development package)
  - libgtest (optional)

使用locate来快速确定系统中是否有那些库
例如
locate opencc
root@kxmp:/home/kxmp# locate opencc
/usr/bin/opencc
/usr/bin/opencc_dict
/usr/include/opencc   #开发库
/usr/include/opencc/opencc.h  #各种头文件  
/usr/include/opencc/opencc_types.h
/usr/include/opencc/openccxx.h
/usr/lib/x86_64-linux-gnu/libopencc.a  #静态库
/usr/lib/x86_64-linux-gnu/libopencc.so  #动态库   windows里面dll一样的
/usr/lib/x86_64-linux-gnu/libopencc.so.1 #这个和上面的那个都是下面1.0.0的那个文件的符号链接
/usr/lib/x86_64-linux-gnu/libopencc.so.1.0.0  #文件实体

以此类推来确认和解决以来关系
libglog 0.3.3
http://code.google.com/p/google- ... 3.3.tar.gz&can=2&q=

libgtest这个是可选的.不需要装. 他是代码测试工具

yaml-cpp 0.5.1
2013-10-09 225343的屏幕截图.png 2013-10-09 225400的屏幕截图.png 2013-10-09 225424的屏幕截图.png 2013-10-09 225610的屏幕截图.png

librime
编译之前需要先装boost库
http://www.boost.org/
http://sourceforge.net/projects/boost/files/boost/1.54.0/
./bjam && ./bjam install
编译时间较长.需耐心等待


解决完依赖关系之后就可以编译librime了
make && make install
2013-10-09 232556的屏幕截图.png 2013-10-09 232813的屏幕截图.png 2013-10-09 232905的屏幕截图.png 2013-10-09 232912的屏幕截图.png



现在就可以来安装brise 0.22了
297718词库, 快30万了.

2013-10-09 234316的屏幕截图.png

装好了之后就可以安装ibus-rime了
注意: libnotify开发包和动态库都有.如果你手动装的这个那你可以无视.
root@kxmp:/home/kxmp# locate libnotify
/usr/include/libnotify
/usr/include/libnotify/notification.h
/usr/include/libnotify/notify-enum-types.h
/usr/include/libnotify/notify-features.h
/usr/include/libnotify/notify.h
/usr/lib/x86_64-linux-gnu/libnotify.a
/usr/lib/x86_64-linux-gnu/libnotify.so
/usr/lib/x86_64-linux-gnu/libnotify.so.4
/usr/lib/x86_64-linux-gnu/libnotify.so.4.0.0
/usr/lib/x86_64-linux-gnu/pkgconfig/libnotify.pc



最后安装ibus-rime
这个直接make -j4 CXXFLAGS="-O3 -march=native" CPPFLAGS="-O3 -march=native"
#CXXFLAGS="-O3 -march=native" CPPFLAGS="-O3 -march=native" cpp的代码优化+开启对应你cpu的指令集. 这个参数也可以用到前面的那些编译中
2013-10-09 234555的屏幕截图.png


最后重启ibus
pkill ibus-daemon && ibus-daemon
或者桌面上点重启




最后送大家一个boost库的删除方法
以后升级啥的时候需要用到
boost 1.54.0的安装日志 boost1540instlog.txt
1万多行...
http://c9.yunpan.360.cn/docviewe ... d=9&size=632643

http://c9.yunpan.360.cn/my/?sid=#%2F2013%2F10%2F

想删除的话就把文件下载过来.
然后rm删就行了....
把文件设成变量
rm -r $(cat boost1540instlog.txt)
中途会看到很多删除失败.文件不存在的日志, 这是因为r参数已经直接删掉了目录. 而目录又在日志中靠前的位置
如果不想看到删除过程的日志的话可以加f参数
rm -rf $(cat boost1540instlog.txt)


2013-10-09 224138的屏幕截图.png



软件维护时卸载所需的安装日志
# librime 0.9.9
/usr/local/include/rime_api.h
/usr/local/lib/pkgconfig/rime.pc
/usr/local/share/cmake/rime
/usr/local/share/cmake/rime/RimeConfig.cmake
/usr/local/lib/librime.so.0.9.9
/usr/local/lib/librime.so.0
/usr/local/lib/librime.so
/usr/local/bin/rime_dict_manager
/usr/local/bin/rime_deployer

# yaml cpp 0.5.1
/usr/local/include/yaml-cpp
/usr/local/include/yaml-cpp/anchor.h
/usr/local/include/yaml-cpp/binary.h
/usr/local/include/yaml-cpp/contrib
/usr/local/include/yaml-cpp/dll.h
/usr/local/include/yaml-cpp/emitfromevents.h
/usr/local/include/yaml-cpp/emitter.h
/usr/local/include/yaml-cpp/emitterdef.h
/usr/local/include/yaml-cpp/emittermanip.h
/usr/local/include/yaml-cpp/eventhandler.h
/usr/local/include/yaml-cpp/exceptions.h
/usr/local/include/yaml-cpp/mark.h
/usr/local/include/yaml-cpp/node
/usr/local/include/yaml-cpp/noncopyable.h
/usr/local/include/yaml-cpp/null.h
/usr/local/include/yaml-cpp/ostream_wrapper.h
/usr/local/include/yaml-cpp/parser.h
/usr/local/include/yaml-cpp/stlemitter.h
/usr/local/include/yaml-cpp/traits.h
/usr/local/include/yaml-cpp/yaml.h
/usr/local/include/yaml-cpp/contrib/anchordict.h
/usr/local/include/yaml-cpp/contrib/graphbuilder.h
/usr/local/include/yaml-cpp/node/convert.h
/usr/local/include/yaml-cpp/node/detail
/usr/local/include/yaml-cpp/node/emit.h
/usr/local/include/yaml-cpp/node/impl.h
/usr/local/include/yaml-cpp/node/iterator.h
/usr/local/include/yaml-cpp/node/node.h
/usr/local/include/yaml-cpp/node/parse.h
/usr/local/include/yaml-cpp/node/ptr.h
/usr/local/include/yaml-cpp/node/type.h
/usr/local/include/yaml-cpp/node/detail/bool_type.h
/usr/local/include/yaml-cpp/node/detail/impl.h
/usr/local/include/yaml-cpp/node/detail/iterator.h
/usr/local/include/yaml-cpp/node/detail/iterator_fwd.h
/usr/local/include/yaml-cpp/node/detail/memory.h
/usr/local/include/yaml-cpp/node/detail/node.h
/usr/local/include/yaml-cpp/node/detail/node_data.h
/usr/local/include/yaml-cpp/node/detail/node_iterator.h
/usr/local/include/yaml-cpp/node/detail/node_ref.h
/usr/local/lib/libyaml-cpp.so
/usr/local/lib/libyaml-cpp.so.0.5
/usr/local/lib/libyaml-cpp.so.0.5.1
/usr/local/lib/pkgconfig/yaml-cpp.pc

#ibus-rime 0.9.9
/usr/share/ibus/component/rime.xml
/usr/share/ibus-rime/icons
/usr/share/ibus-rime/icons/zhung.svg
/usr/share/ibus-rime
/usr/lib/ibus-rime
/usr/lib/ibus-rime/ibus-engine-rime
/usr/share/ibus/component/rime.xml

#glog 0.3.3
/usr/local/include/glog
/usr/local/include/glog/log_severity.h
/usr/local/include/glog/logging.h
/usr/local/include/glog/raw_logging.h
/usr/local/include/glog/stl_logging.h
/usr/local/include/glog/vlog_is_on.h
/usr/local/lib/libglog.a
/usr/local/lib/libglog.la
/usr/local/lib/libglog.so
/usr/local/lib/libglog.so.0
/usr/local/lib/libglog.so.0.0.0
/usr/local/lib/pkgconfig/libglog.pc
/usr/local/share/doc/glog-0.3.3
/usr/local/share/doc/glog-0.3.3/AUTHORS
/usr/local/share/doc/glog-0.3.3/COPYING
/usr/local/share/doc/glog-0.3.3/ChangeLog
/usr/local/share/doc/glog-0.3.3/INSTALL
/usr/local/share/doc/glog-0.3.3/NEWS
/usr/local/share/doc/glog-0.3.3/README
/usr/local/share/doc/glog-0.3.3/README.windows
/usr/local/share/doc/glog-0.3.3/designstyle.css
/usr/local/share/doc/glog-0.3.3/glog.html
/usr/share/app-install/desktop/glogg.desktop
/usr/share/app-install/icons/glogg.png

#brise 0.22
/usr/share/rime-data

# kyotocabinet ver 1.2.76
/usr/local/lib/libkyotocabinet.a
/usr/local/lib/libkyotocabinet.so
/usr/local/lib/libkyotocabinet.so.16
/usr/local/lib/libkyotocabinet.so.16.13.0
/usr/local/lib/pkgconfig/kyotocabinet.pc
/usr/local/share/doc/kyotocabinet
/usr/local/share/doc/kyotocabinet/COPYING
/usr/local/share/doc/kyotocabinet/ChangeLog
/usr/local/share/doc/kyotocabinet/FOSSEXCEPTION
/usr/local/share/doc/kyotocabinet/doc
/usr/local/share/doc/kyotocabinet/kyotocabinet.idl
/usr/local/share/doc/kyotocabinet/doc/api
/usr/local/share/doc/kyotocabinet/doc/command.html
/usr/local/share/doc/kyotocabinet/doc/common.css
/usr/local/share/doc/kyotocabinet/doc/icon16.png
/usr/local/share/doc/kyotocabinet/doc/index.html
/usr/local/share/doc/kyotocabinet/doc/index.ja.html
/usr/local/share/doc/kyotocabinet/doc/logo.png
/usr/local/share/doc/kyotocabinet/doc/spex.html
/usr/local/share/doc/kyotocabinet/doc/api/annotated.html
/usr/local/share/doc/kyotocabinet/doc/api/bc_s.png
/usr/local/share/doc/kyotocabinet/doc/api/classes.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ArcfourCompressor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ArcfourCompressor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1AtomicInt64-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1AtomicInt64.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1Error-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1Error.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1FileProcessor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1FileProcessor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1Logger-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1Logger.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1MetaTrigger-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1MetaTrigger.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1ProgressChecker-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1BasicDB_1_1ProgressChecker.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CacheDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CacheDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CacheDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CacheDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Comparator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Comparator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Compressor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Compressor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CondMap-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CondMap.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CondVar-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1CondVar.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DB_1_1Visitor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DB_1_1Visitor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DecimalComparator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DecimalComparator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DecimalDescendingComparator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DecimalDescendingComparator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DirDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DirDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DirDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DirDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DirStream-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1DirStream.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1File-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1File.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1HashDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1HashDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1HashDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1HashDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1IndexDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1IndexDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZMA-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZMA.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZMACompressor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZMACompressor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZO-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZO.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZOCompressor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LZOCompressor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LexicalComparator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LexicalComparator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LexicalDescendingComparator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LexicalDescendingComparator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LinkedHashMap-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LinkedHashMap.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LinkedHashMap_1_1Iterator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1LinkedHashMap_1_1Iterator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1MapReduce-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1MapReduce.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1MapReduce_1_1ReduceTaskQueue_1_1ReduceTask-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1MapReduce_1_1ReduceTaskQueue_1_1ReduceTask.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1MapReduce_1_1ValueIterator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1MapReduce_1_1ValueIterator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Mutex-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Mutex.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PlantDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PlantDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PlantDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PlantDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PolyDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PolyDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PolyDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1PolyDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ProtoDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ProtoDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ProtoDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ProtoDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1RWLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1RWLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Regex-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Regex.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedMutex-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedMutex.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedRWLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedRWLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedSpinLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedSpinLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedSpinRWLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ScopedSpinRWLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedMutex-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedMutex.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedRWLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedRWLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedSpinLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedSpinLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedSpinRWLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SlottedSpinRWLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SpinLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SpinLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SpinRWLock-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1SpinRWLock.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1StashDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1StashDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1StashDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1StashDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TSD-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TSD.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TSDKey-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TSDKey.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TaskQueue-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TaskQueue.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TaskQueue_1_1Task-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TaskQueue_1_1Task.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TextDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TextDB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TextDB_1_1Cursor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TextDB_1_1Cursor.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Thread-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1Thread.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyArrayList-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyArrayList.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyHashMap-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyHashMap.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyHashMap_1_1Iterator-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyHashMap_1_1Iterator.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyHashMap_1_1Sorter-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1TinyHashMap_1_1Sorter.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ZLIB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ZLIB.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ZLIBCompressor-members.html
/usr/local/share/doc/kyotocabinet/doc/api/classkyotocabinet_1_1ZLIBCompressor.html
/usr/local/share/doc/kyotocabinet/doc/api/closed.png
/usr/local/share/doc/kyotocabinet/doc/api/doxygen.css
/usr/local/share/doc/kyotocabinet/doc/api/doxygen.png
/usr/local/share/doc/kyotocabinet/doc/api/files.html
/usr/local/share/doc/kyotocabinet/doc/api/functions.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x62.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x63.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x64.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x65.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x66.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x67.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x68.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x69.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x6a.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x6b.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x6c.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x6d.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x6e.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x6f.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x70.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x72.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x73.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x74.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x75.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x76.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x77.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x78.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x79.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_0x7e.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_enum.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_eval.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x62.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x63.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x64.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x65.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x66.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x67.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x68.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x69.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x6a.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x6b.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x6c.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x6d.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x6e.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x6f.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x70.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x72.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x73.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x74.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x75.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x76.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x77.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x79.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_func_0x7e.html
/usr/local/share/doc/kyotocabinet/doc/api/functions_vars.html
/usr/local/share/doc/kyotocabinet/doc/api/globals.html
/usr/local/share/doc/kyotocabinet/doc/api/globals_defs.html
/usr/local/share/doc/kyotocabinet/doc/api/globals_eval.html
/usr/local/share/doc/kyotocabinet/doc/api/globals_func.html
/usr/local/share/doc/kyotocabinet/doc/api/globals_type.html
/usr/local/share/doc/kyotocabinet/doc/api/globals_vars.html
/usr/local/share/doc/kyotocabinet/doc/api/hierarchy.html
/usr/local/share/doc/kyotocabinet/doc/api/index.html
/usr/local/share/doc/kyotocabinet/doc/api/kccachedb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kccommon_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kccompare_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kccompress_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcdb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcdbext_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcdirdb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcfile_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kchashdb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kclangc_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcmap_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcplantdb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcpolydb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcprotodb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcregex_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kctextdb_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcthread_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/kcutil_8h.html
/usr/local/share/doc/kyotocabinet/doc/api/namespacekyotocabinet.html
/usr/local/share/doc/kyotocabinet/doc/api/namespacemembers.html
/usr/local/share/doc/kyotocabinet/doc/api/namespacemembers_func.html
/usr/local/share/doc/kyotocabinet/doc/api/namespacemembers_type.html
/usr/local/share/doc/kyotocabinet/doc/api/namespacemembers_vars.html
/usr/local/share/doc/kyotocabinet/doc/api/namespaces.html
/usr/local/share/doc/kyotocabinet/doc/api/nav_f.png
/usr/local/share/doc/kyotocabinet/doc/api/nav_h.png
/usr/local/share/doc/kyotocabinet/doc/api/open.png
/usr/local/share/doc/kyotocabinet/doc/api/structKCCUR-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCCUR.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCDB-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCDB.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCIDX-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCIDX.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCLIST-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCLIST.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCMAP-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCMAP.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCMAPITER-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCMAPITER.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCMAPSORT-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCMAPSORT.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCREC-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCREC.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCSTR-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structKCSTR.html
/usr/local/share/doc/kyotocabinet/doc/api/structkyotocabinet_1_1File_1_1Status-members.html
/usr/local/share/doc/kyotocabinet/doc/api/structkyotocabinet_1_1File_1_1Status.html
/usr/local/share/doc/kyotocabinet/doc/api/tab_a.png
/usr/local/share/doc/kyotocabinet/doc/api/tab_b.png
/usr/local/share/doc/kyotocabinet/doc/api/tab_h.png
/usr/local/share/doc/kyotocabinet/doc/api/tab_s.png
/usr/local/share/doc/kyotocabinet/doc/api/tabs.css

@lixihong10 @LisaLan @wulanmaodu @耐卡饭 @michael123 @专业路过 @cky2k3 @LLJ杰 @christina7358 @Hopesky @jack1986001 @guantong @xiaomudou @liping1994 @aslprince @treeyard @nbaworldcup @读图时代 @jshbkf @天山童姥 @/jwTMF圣翼圆 @瞬间与永恒 @4397903 @jayavira @gffgef @xp163 @eLiT3CH_KSP @千夏奈奈 @唐僧是个耍猴的 @jiao轩 @Amazing @東方不敗 @tomjohnjoan @Beatit @ziucqea @Lirio @O(∩_∩)O哈哈~ @xiaowu0750 @pigiam @陈-烈焰风暴 @bbbxyoiil

Total text 8.7KiB
KxMP Original Article

License GFDL

Wallpaper Copyright Tojo-the-thief


评分

参与人数 1经验 +50 收起 理由
mengld + 50 版区有你更精彩: )

查看全部评分

dfliaoyue
发表于 2013-10-10 17:25:53 | 显示全部楼层
看不懂,好象很厉害
levibeta
发表于 2013-10-10 20:39:45 | 显示全部楼层
还是小小输入法简单,解包之后就可以直接使用。
小锡
发表于 2013-10-10 21:52:17 | 显示全部楼层
好厉害
villana
头像被屏蔽
发表于 2013-10-11 16:19:55 | 显示全部楼层
感觉好厉害的样子
c7h
发表于 2013-10-12 15:04:15 | 显示全部楼层
用Linux的都是牛人
蓝色天气
发表于 2013-10-13 06:44:23 | 显示全部楼层
感觉好厉害滴,一点都⑧懂
dliwj
发表于 2013-10-13 15:42:58 | 显示全部楼层
原来还挺麻烦
peng2604571
发表于 2013-10-13 17:32:49 | 显示全部楼层
说清楚是什么系统装的!
moreo
发表于 2013-10-17 12:40:47 | 显示全部楼层
感觉太麻烦啦
其实ibus自带的拼音也挺好
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-26 10:32 , Processed in 0.176377 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表