如何在CMake中设置多个预编译头

时间:2015-03-03 09:48:38

标签: visual-studio cmake precompiled-headers

我尝试使用预编译头解决问题。通常,使用/ Yu和/ Yc,一切都运行良好。但是如果我在同一个项目中有#include的不同路径,我找不到解决方案。

树目录就是这样:

sql_sqlite
--- | sql_sqlite.cpp
--- | stdafx.cpp
--- | stdafx.h中
--- | win32的
------ | main.cpp中

我使用“NMake Makefiles”生成器。

我的stdafx.cpp和sql-sqlite.cpp与#include "stdafx.h"(对他们来说没关系),但带有#include "../stdafx.h"的main.cpp不起作用,所以我试过这个:

set_source_files_properties(../datasec/src/sql_sqlite/stdafx.cpp PROPERTIES COMPILE_FLAGS "/Ycstdafx.h")  
set_source_files_properties(../datasec/src/sql_sqlite/win32/main.cpp PROPERTIES COMPILE_FLAGS "/Yu../stdafx.h")

但那不起作用并说:

fatal error C1083: Cannot open precompiled header file: '../stdafx.pch': No such file or directory

CMake中有没有办法使用2个不同的预编译头文件? 或者路径设置不正确?

欢迎任何帮助。

编辑:

以下是CMake邮件列表的答案...... http://permalink.gmane.org/gmane.comp.programming.tools.cmake.user/51904 似乎MSVC不喜欢具有预编译头的相对路径的include。

解决此问题的方法是在指定文件上传递/Y-标志。

如果有人有其他解决方案,欢迎他。

由于

0 个答案:

没有答案