我为嵌入式 SQL 使用 Oracle 预编译器。我正在将一些代码从 VC++ 6.0 移动到 VStudio 2010。
我将数据库调用放在名为“dbcalls.pc”的单个源代码模块中——该模块被传递给生成“dbcalls.cpp”的预编译器,然后像所有其他.cpp文件一样传递给编译器和链接器。
在 VC6 下,我手动对我的自定义构建 .pc 文件进行编译 - 即;rt 单击 dbcalls.pc 文件并选择编译。然后由于我使用的 Oracle 预编译器的特定版本中存在错误,我必须打开 .cpp 并在预编译器生成的 .cpp 顶部插入 #include "stdafx.h" - 我有一个宏可以这个。然后我可以对整个项目执行构建,VC6 IDE 不会尝试重新运行自定义构建。
在 VStudio 2010 中,我用一个重要的异常/问题复制了这一点 - 如果我将 dbcalls.pc 文件配置为从属性下的构建中排除(其中它被指定为自定义构建类型),那么我无法点击文件并选择编译。
如果我将属性设置为包含在构建中,我可以点击并手动将 .pc 构建到 .cpp 中,但是在我为项目运行构建时更改 .cpp 后,它会重新运行自定义构建并删除我的更改. 我被迫在属性对话框中来回切换并更改“从构建中排除”设置。这是在 VC6 中不会发生的皇家 PITA。
任何人都可以建议解决方法吗?显然,如果预编译器没有这个错误,那么一切都会好的,但目前还没有考虑转移到另一个版本的 pc。
想法?