我正在开发一个相当大的(我认为 - 32个项目很大?)Visual Studio 2008中的多项目“解决方案”。因为它是一个遗留系统,代码主要是C< gasp!>,虽然我不认为这与我的问题密切相关。
最近(但我不知道最近怎么样),我注意到我的浏览信息 - VS设施允许一个人去'去定义'和'去声明'的宏,功能,变量,等 - 没有更新。我会尝试'去定义'的东西,IDE会告诉我“符号''没有被定义”,或者,如果它是我已经移动的东西,将转到正确的文件但是错误点。
我尝试为解决方案中的所有项目构建浏览信息,但这没有帮助。然后我在MSDN上读到我应该不这样做,但应该在构建所有项目之后,运行BSCMAKE并将所有.sbr文件作为输入的。 (我相信,但不确定,.sbr文件是在编译文件时自动生成的。)
我猜这是一步,(运行所有.sbr文件的BSCMAKE)没有发生,但我不知道在哪里可以找到设置,如果有的话一,它控制整个解决方案(而不是一次一个项目)。
VS是否有其他文件(而不是.bsc)从中获取此信息? (换句话说,我是否完全吠叫了错误的树)?
答案 0 :(得分:4)
您是否尝试删除位于解决方案文件(.sln)旁边的IntelliSense文件(.ncb)?因为.ncb文件可能已损坏。您可以阅读有关here
问题的更多信息大多数情况下,当你得到“符号未定义”时,因为源文件缺少#include。确保它存在并且您可以打开它。
此外,定义和宏可以让IntelliSense搞砸了。您最近对代码进行了哪些更改?
根据我的理解,没有设置激活BSCMAKE。完成编译后需要调用命令。
答案 1 :(得分:1)
由于您从VS2005迁移了项目,并且.ncb文件包含有关的信息 项目中的各种变量,我建议你尝试删除.ncb文件,然后重建 VS2008或VS2010中的项目。
尝试上面后,如果没有修复,也请尝试这个。
我们可以定义以下格式的函数。
类型:1
func(int i, char c)
{
.....
....
.....
}
类型:2
func(i, char c)
int i;
char c;
{
.....
....
.....
}
如果你定义类似2,那么按一个变量F12键(转到减速),它不会 工作。请改变类似1,然后尝试。它会正常工作。