5
我試圖包含一個文件,我已經在cmake中定義了。GCC內部編譯器錯誤:分割錯誤
-DUNINSTD_INC=$ENV{TARGET_FS}/usr/include/unistd.h
我檢查了這個定義,UNINSTD_INC是正確的文件路徑。
代碼-剪斷,這將導致分段錯誤是:
#define SURROUND(x) QUOTE(x)
#define QUOTE(x) #x
#include SURROUND(UNINSTD_INC)
如果我編譯代碼時,得到下面的錯誤:
unistd.h中:1:內部編譯器錯誤:分段錯誤 請提交完整的錯誤報告, 與預處理源,如果適當。
有人有想法解決這個問題嗎?
或其他方式來包含預定義的文件?
gcc版本:gcc版本4.6.3(Ubuntu的/ Linaro的4.6.3-1ubuntu5)
你有沒有試過gcc 4.8?另外:預處理源代碼是什麼樣的? – stefan
現在可以使用這個gcc版本。這隻屬於OSS清算。 此外,我無法查看預處理代碼,segfault是在開始預處理代碼 – Korbi
那麼你必須嘗試隔離問題。它沒有宏的工作嗎? – stefan