-1

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

是否有任何实用程序可以递归地扫描所有 C++ 文件并使用在这些子目录中找到的标头修复#include?

例如,它将转换

#include <myheader>

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

?

(否则我必须扁平化层次结构,因为它有点乱)

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

4

2 回答 2

5

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

于 2012-10-09T15:05:56.900 回答
0

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

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

您的解决方案看起来像

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

我打赌你会需要在你生命中的某个时刻使用它 8^)

于 2012-10-09T15:16:18.850 回答