尝试编译旧的(遗留)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
答案 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特性。