我们有一个大型C项目,在Linux,Mac OS和Windows上进行开发。我们的大多数Windows开发人员使用MSVC - 例如,免费版的Visual C.经常添加,重命名或删除.c源文件,我们发现使Visual C项目与目录的这些更改保持同步非常令人沮丧
开发人员A可能会添加newfile.c,将其签入Subversion并愉快地继续工作。
开发人员B,C等更新到最新版本。然后,当他们在MSVC中编译时,他们得到一个错误(隐藏在巨大的编译输出中的某处),说链接器找不到这样的符号。然后,他们需要查看哪些文件已更改,并手动将其添加到MSVC中的项目树中。
(开发人员A可能在Unix上,构建脚本倾向于自动找到要编译的正确文件,而不知道他们刚刚为B和C创建了多少工作!)
我的问题是,有没有办法告诉MSVC将目录中的每个.c文件都视为项目的一部分?
更新我们已经构建了可以创建初始MSVC项目文件的脚本。但是,在此之后(指向库等)会有大量的自定义工作,每次重新运行脚本时只会添加新文件,这会被吹走。
考虑到有多少大型项目,我很惊讶Visual Studio需要每个开发人员进行这样的手动工作才能获取其他人添加的新文件。 我现在乐观地寻求更好的解决方案......
答案 0 :(得分:4)
我不认为Visual Studio可以做你想做的事情(但如果我被证明是错误的话会很高兴。)。
对我有用的是使用跨平台项目文件。查看CMake,它允许您以独立于平台的文本格式定义项目的结构。然后在每个平台上使用工具处理这些项目文件,然后自动生成适当的东西,可以是Makefile,Visual Studio解决方案和项目文件等。
答案 1 :(得分:1)
如果这确实是一个严重的问题,我建议编写一个脚本,用目录内容相应地更新VS项目文件。