加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将* .c / * .h项目(编译为C)转换为* .cpp / * .hpp

发布时间:2020-12-16 09:36:06 所属栏目:百科 来源:网络整理
导读:问题:将基于.c / .h的项目(通过makefile强制编译为C)转换为基于.cpp / .hpp的项目的最佳方法是什么? 显然,这是一个三步过程.第一种方法是将* .c重命名为* .cpp;第二种方法是将* .h最后重命名为* .hpp.我要抓住的是第三步 – 以某种方式构建文件/命名/命名
问题:将基于.c / .h的项目(通过makefile强制编译为C)转换为基于.cpp / .hpp的项目的最佳方法是什么?

显然,这是一个三步过程.第一种方法是将* .c重命名为* .cpp;第二种方法是将* .h最后重命名为* .hpp.我要抓住的是第三步 – 以某种方式构建文件/命名/命名列表(即myfile.c),然后遍历每个受影响的文件并用旧文件名替换旧文件名的每个实例. new(myfile.c – > myfile.cpp).显然必须这样做,所以源文件仍然可以找到他们需要的一切.

有问题的源代码包含大约2700个单独的源文件.

我这样做的原因主要是因为我将所述软件包移植到Mac OS X,这涉及到Xcode.事情变得血腥凌乱,试图准确地跟踪C,C和相关标题是什么(然后覆盖编译器进行C编译).如果所有C都是* .cpp(关联标题是* .hpp)会更简单,因为那时我可以根据文件扩展名将Xcode保留在默认编译器设置中,所有内容都可以在没有任何花哨干预的情况下工作结束.

我可能还应该注意到,我确切地知道需要转换哪些文件,因为如果我重写Xcode以编译为C,它们已经正确编译并且以理智的方式编译.这不是问题 – 我的问题是试图弄清楚如何批量重命名然后运行所有文件并更新#includes.

先感谢您!
-Keven小费

解决方法

你不需要弄乱标题. filename.h是C头的一个非常好的名称.

如果你没有使用旧的makefile,而是创建一个新的XCode项目,那么你只有一步:

>将* .c重命名为* .cpp

如果makefile是正确编写的(使用规则模式而不是特定的每文件规则),那么也不应该进行任何更改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读