- 編譯器(thrift代理類生成工具thrift.exe)源碼:\compiler\cpp\compiler.sln
- 安裝flex、bision、m4、regex,配置環境變量(Path中添加:C:\GnuWin32 )
http://jaist.dl.sourceforge.net/project/gnuwin32/regex/2.7/regex-2.7-setup.exe
http://jaist.dl.sourceforge.net/project/gnuwin32/sed/4.2.1/sed-4.2.1-setup.exe
http://pilotfiber.dl.sourceforge.net/project/gnuwin32/bison/2.4.1/bison-2.4.1-setup.exe
http://pilotfiber.dl.sourceforge.net/project/gnuwin32/flex/2.5.4a-1/flex-2.5.4a-1.exe
注意:安裝目錄中不要有空格,如“C:\Program Files (x86)\GnuWin32”此類目錄是不行的,我直接改成“C:\GnuWin32 ” 了。 - 重啟VS
- 編譯,報錯,缺少:unistd.h
- 編譯,報錯,缺少version.h
e:\參考資料\thrift\thrift-master\compiler\cpp\src\generate\t_generator.h(30): fatal error C1083: 無法打開包括文件: “version.h”: No such file or directory將:\compiler\cpp\version.h.in文件復制到\compiler\cpp\src\下,改名:version.h
- 繼續編譯,通過...
- 生成代理類命令:D:\xxx\thrift -gen go/csharp xxxx.thrift,可創建bat文件一鍵生成
- 如需調整thrift代理類默認的生成邏輯,定制自己的thrift代碼生成器,修改相應的generate文件即可,如:t_csharp_generator.cc、t_go_generator.cc等,修改后重新編譯thrift.exe文件,然后再去生成代碼