编译pre c ++ 98项目?

时间:2016-11-14 04:16:11

标签: c++ g++5.1

尝试编译旧的(遗留)cpp项目。根据{{​​3}},此项目比C ++ 98旧!

有没有办法在没有某种类型的(次要)重构的情况下编译这个项目?

当我运行命令g++ -std=c++98 -pedantic -ggdb -c file.cxx时,它错误地显示错误fatal error: 'iostream.h' file not found

注意:我不是原始代码的作者。迁移到更现代的C ++版本可能是不可能的。所以现在,我只是想让它进行编译。

我在mac El Capitan上使用brew,gcc5。

gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.38)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir:   /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

1 个答案:

答案 0 :(得分:2)

  

有没有办法在没有某种类型的(次要)重构的情况下编译这个项目?

如果允许您将.h文件添加到项目中,则可以使用以下内容创建snippet pp "`r gsub("\\\\", "/", readClipboard())`"

iostream.h

然后确保将文件所在的目录添加到目录列表中以搜索#ifndef MY_IOSTREAM_H #define MY_IOSTREAM_H #include <iostream> using namespace std; #endif d个文件。

<强>声明

这并不能保证您不必更改任何其他内容。谁知道在这样一个旧项目的代码库中使用了哪些平台特定的预C ++ 98特性。