2017-08-02 39 views
1

我試圖運行flatc -s test.idl沒有成功。這曾經工作,但改變筆記本電腦後,我無法再編譯模式。如果我故意破壞test.idl,我會得到錯誤,但是使用正確的語法只會失敗。Flatbuffers平面架構編譯器不生成文件

test.idl看起來是這樣的:

namespace Foo; 
enum Type : byte { 
    type_request = 1, 
    type_reply = 2, 
} 

struct UUID { 
    low_bytes: ulong; 
    high_bytes: ulong; 
} 

table Request { 
    req_id: UUID (required); 
} 
root_type Request; 

table Reply { 
    req_id: UUID (required); 
} 
root_type Reply; 

任何想法?我可能運行不同版本的flatc(目前1.7.0),有什麼改變?

回答

1

我找到了答案,看來(只有?).fbs擴展現在支持,所以更改名稱和運行flatc -s test.fbs工作正常。

+0

是的,任何其他擴展它會認爲它是JSON或者它不需要生成代碼。這仍然是一個錯誤,它應該警告你。 – Aardappel

+0

在這裏修復了:https://github.com/google/flatbuffers/commit/a6a3f5925393146e879ba03d91​​9a3380b9af7994 – Aardappel

+0

@Aardappel,非常感謝你的修復!如果你發現這個Q/A的錯誤,並覺得它對你有好處,請隨時點贊。 – Mikko