2016-11-30 54 views
4

我正在使用vs2013上的許多.cpp文件和使用預編譯頭的項目。我正在使用CMake來構建我的項目。禁用單個文件的預編譯頭

但我有一個.c文件(我們稱之爲xyz.c),我想要禁用預編譯頭文件。

我嘗試了幾種方法,但是如果我啓用預編譯頭文件到所有.cpp文件,它也會自動打開.c文件。這是我的嘗試:

set_source_files_properties (xyz.c 
    PROPERTIES COMPILE_FLAGS /Y-xyz.c) 

假設/Yu是爲所有的文件,我只是嘗試關閉此選項xyz.c

如果有人知道任何方法,請讓我知道。

回答

3

/Y-不帶參數。嘗試:

set_source_files_properties(xyz.c 
    PROPERTIES COMPILE_FLAGS /Y-) 

或者,而不是使用上的所有文件/Yu並禁用它僅供.c文件,你可以用相反的方法,只能使用/Yu.cpp文件。

set_source_files_properties(${SOURCES} 
    PROPERTIES COMPILE_FLAGS /Yumy_pch.h) 
+0

感謝您的答覆..但它仍然無法正常工作 – hrshl90

+1

你重新配置之前清理你的build目錄:鑑於你.cpp文件在一個變量SOURCESmy_pch.h是你的預編譯的頭上市?我用另一種方式編輯了我的答案。如果它不起作用,請使用完整的CMake代碼編輯您的問題 – wasthishelpful

+0

再次感謝您的回覆。這非常有幫助,稍後我會嘗試其他方法。還有其他問題。再次感謝。 – hrshl90