2009-07-18 70 views
3

我在項目中使用flex(詞彙分析器,而不是Adobe Flex)。不過,我希望能夠在Windows平臺上編譯,但Windows version的最新版本僅爲2.5.4a,因此它不會編譯我的文件以用於版本2.5.35。不,我不能降級到支持最高的Windows版本。什麼時候可以使用適用於windows的新版flex?

任何人都知道升級Windows版本的計劃,或者有建議在Windows上編譯?

回答

4

你可以在郵件列表上詢問,或者自己參與Flex項目中的。我認爲Flex的代碼庫一直保持靜態,但我不知道誰維護Windows端口。在此期間...

我會推薦,包括生產源在您的項目。

  1. 生成一個Linux系統上的詞法分析器構建

如果你之前出示你lex.c/lex.h文件(或其他)

  • 包括在你的Win32 C源這些文件不能直接訪問Linux系統,虛擬機可能是個好主意。 Flex源投訴到一些建立在Windows上的C標準,但大部分POSIX差異可以改變爲相當容易地使用Win32 API。

    也許分佈爲:

    /src/source_files.c 
    /src/lex.l 
    /src/win32_lex/lex.c 
    

    這樣系統現代的柔性可以生成從法文件的源和Windows系統編譯源可以採用一種互補的預處理C文件。

    缺少使用一些用戶空間POSIX(Cygwin或其他)。

    需要一點調整,但不是你的便攜性

  • +0

    +1,個人我只是在.lex/.y文件更改時使用Cygwin。 – 2009-07-20 23:44:12

    1

    Windows版本的flex 2.5.35 do存在,但不幸的是它們不是自包含的。您可以下載MINGW build here和Cygwin build here;見also another stackoverflow question。每個版本都要求安裝相應的(MINGW或Cygwin)內核。

    相關問題