修复子目录中C ++文件中所有包含的路径

时间:2012-10-09 15:02:26

标签: c++

我有一些unix源我正试图在VS中工作。对于某些用户定义的标头路径,所有#includes都被编码。例如,#include <myheader>,但myheader存在于项目文件夹中,如..\headers\myheader.hpp

是否有任何实用程序会以递归方式扫描所有C ++文件并使用这些子目录中的标题修复#include? 例如,它会转换

#include <myheader>

#include "..\headers\myheader.hpp"

(否则我必须弄平等级,因为它有点混乱)

(无需担心潜在的重复标题......)

2 个答案:

答案 0 :(得分:5)

我建议您将headers目录添加到项目选项中某处的包含路径中。

答案 1 :(得分:0)

关于标题的目录路径,我同意其他海报。

如果您需要在文件中递归替换某个模式,那么您应该学习如何使用findsed(如果您使用的是Unixoid OS)。

您案例中的解决方案看起来像

find . -name \*.cpp -exec sed -i -e 's/old/new/g' {} \;

我打赌你需要在生活中的某个时刻利用这一点8 ^)