我尝试使用预编译头解决问题。通常,使用/ 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-
标志。
如果有人有其他解决方案,欢迎他。
由于