(这个貌似是 c/c++语言的问题,不过问题是发生在VS2008环境下,只好发这里了。)问题来自于 开源代码 TrueCrypt (v7.0) .其工程中,Dlgcode.c 文件里使用了 C++的一些东西。
比如  using namespace TrueCrypt;
比如  if (SecurityToken::IsInitialized())
我不知道 怎么回事,我自己生成的项目中,在.c 文件里 
#include <cstddef> 会提示 error C2143: 语法错误 : 缺少“{”(在“:”的前面)把.c改成.cpp的,就正常了(不过有时候会有别的问题),但是那个源代码工程却是没有问题。不解中。请问,这是怎么办到的啊?

解决方案 »

  1.   

    谢谢回复,可是 TrueCrypt 却实这样做到了, 
    而我自己移植工程的时候出现了编译错误我搞不明白这是为什么。
      

  2.   

    在 解决方案资源管理器 视图中,右键单击你要的.c文件,选择 “属性”在弹出的对话框内左边的树中,展开 c/c++结点,选择“高级”,就可以通过右边的“编译为”来单独为一个文件设置 编译选项了