2013-10-24 20 views
0

我想编译xmacro,我从http://xmacro.sourceforge.net/下载。我在哪里得到iostream的g ++在fedora 19

我正在运行Fedora 19 LXDE。

问题:哪里获得iostream.h?它不见了。我看到一些包含iostream.h的包。软件包版本号compat-gcc-34-C++。i686与g ++(GCC)4.8.1 20130603不匹配。是否应该?

我想在我下载编译器时会包含iostream.h。

我已经安装的gcc-C++,的libx11-devel软件包,& libxtxt。

问题:我才拿到C的右侧++版本?什么是兼容性GNU编译器集合?

$ yum search "compat-gcc" 
Loaded plugins: langpacks, refresh-packagekit 
=========================================== N/S matched: compat-gcc ============================================ 
compat-gcc-34.i686 : Compatibility GNU Compiler Collection 
compat-gcc-34-c++.i686 : C++ support for compatibility compiler 
compat-gcc-34-g77.i686 : Fortran 77 support for compatibility compiler 

    Name and summary matches only, use "search all" for everything. 

我得到:

$ make 
g++ -O2 -I/usr/X11R6/include -Wall -pedantic -DVERSION=0.3 xmacroplay.cpp -o xmacroplay -L/usr/X11R6/lib -lXtst -lX11 
xmacroplay.cpp:57:22: fatal error: iostream.h: No such file or directory 
#include <iostream.h> 
        ^
compilation terminated. 
make: *** [xmacroplay] Error 1 




$ yum whatprovides '*/iostream.h' 
Loaded plugins: langpacks, refresh-packagekit 
compat-gcc-34-c++-3.4.6-29.fc19.i686 : C++ support for compatibility compiler 
Repo  : fedora 
Matched from: 
Filename : /usr/include/c++/3.4.6/backward/iostream.h 



cxxtools-devel-2.2-1.fc19.i686 : Development files for cxxtools 
Repo  : fedora 
Matched from: 
Filename : /usr/include/cxxtools/iostream.h 



gap-devel-4.6.4-2.fc19.i686 : GAP compiler and development files 
Repo  : fedora 
Matched from: 
Filename : /usr/lib/gap/src/iostream.h 



gap-devel-4.6.5-1.fc19.i686 : GAP compiler and development files 
Repo  : updates 
Matched from: 
Filename : /usr/lib/gap/src/iostream.h 



glibmm24-devel-2.36.2-2.fc19.i686 : Headers for developing programs that will use glibmm24 
Repo  : fedora 
Matched from: 
Filename : /usr/include/giomm-2.4/giomm/iostream.h 



marisa-devel-0.2.2-2.fc19.i686 : Development files for marisa 
Repo  : fedora 
Matched from: 
Filename : /usr/include/marisa/iostream.h 



mingw32-glibmm24-2.36.2-2.fc19.noarch : MinGW Windows C++ interface for GTK2 (a GUI library for X) 
Repo  : fedora 
Matched from: 
Filename : /usr/i686-w64-mingw32/sys-root/mingw/include/giomm-2.4/giomm/iostream.h 



mingw64-glibmm24-2.36.2-2.fc19.noarch : MinGW Windows C++ interface for GTK2 (a GUI library for X) 
Repo  : fedora 
Matched from: 
Filename : /usr/x86_64-w64-mingw32/sys-root/mingw/include/giomm-2.4/giomm/iostream.h 



root-cint-5.34.07-1.fc19.i686 : CINT C++ interpreter 
Repo  : fedora 
Matched from: 
Filename : /usr/lib/root/cint/cint/include/iostream.h 



root-cint-5.34.10-1.fc19.i686 : CINT C++ interpreter 
Repo  : updates 
Matched from: 
Filename : /usr/lib/root/cint/cint/include/iostream.h 



me ~ $ g++ --version 
g++ (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1) 
Copyright (C) 2013 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

me ~ $ 

回答

2

iostream.h是在什么以后将成为C++标准库头老,预标准名称。现代化的标准化名称只是iostream,没有.h

最好的解决办法是要经过源,改变iostream.hiostream无处不在。不过,如果您要编译的C++代码真的很古老,您可能会遇到其他问题。另一方面,它可能正常工作,并带有一些警告。试试看看会发生什么。

如果它不工作,你可能会发现,“COMPAT-G ++”包(其中有很老的3.4版本克++)处理这种旧的代码比4.8越办越好。

+0

使用gcc34命令编译旧的3.4版本。错误和警告被减少但没有消除。我可能需要为我的c技能添加一个++。 – historystamp