JmAbuDabi,
soarin,
Спасибо за ответы. Сначала я просто удалил строку #include "stdafx.h"
В итоге получил:
oleg@Dell-Inspiron:~/Документы/C++/Files$ gcc -o files files.cpp
/tmp/ccQqn6FA.o: In function `main':
files.cpp:(.text+0x26): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream()'
files.cpp:(.text+0x35): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream()'
files.cpp:(.text+0x4e): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
files.cpp:(.text+0x67): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
files.cpp:(.text+0x80): undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
files.cpp:(.text+0xb1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
files.cpp:(.text+0xc5): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
files.cpp:(.text+0xd4): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
files.cpp:(.text+0xf9): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
files.cpp:(.text+0x10d): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
/tmp/ccQqn6FA.o: In function `__static_initialization_and_destruction_0(int, int)':
files.cpp:(.text+0x14e): undefined reference to `std::ios_base::Init::Init()'
files.cpp:(.text+0x153): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccQqn6FA.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
collect2: выполнение ld завершилось с кодом возврата 1
В общем вроде как ругается, что ofstream и instream не объявлены в подключаемых файлах. Как я понял, нужные файлы подключались в stdafx.h. В этом файле под виндой записано было:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
// TODO: reference additional headers your program requires here
Вставил в свою программу подключения файлов
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
На "targetver.h" и <tchar.h> gcc ругался как до этого на stdafx.h. В targetver.h подключается только <SDKDDKVer.h>, пробовал его подключать сам - та же фигня, нет такого файла или каталога и т.д. А если оставить только подключение <stdio.h>, то получаю:
oleg@Dell-Inspiron:~/Документы/C++/Files$ gcc -o files files.cpp
/tmp/ccK55qt1.o: In function `main':
files.cpp:(.text+0x26): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream()'
files.cpp:(.text+0x35): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream()'
files.cpp:(.text+0x4e): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
files.cpp:(.text+0x67): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
files.cpp:(.text+0x80): undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
files.cpp:(.text+0xb1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
files.cpp:(.text+0xc5): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
files.cpp:(.text+0xd4): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
files.cpp:(.text+0xf9): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
files.cpp:(.text+0x10d): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
/tmp/ccK55qt1.o: In function `__static_initialization_and_destruction_0(int, int)':
files.cpp:(.text+0x14e): undefined reference to `std::ios_base::Init::Init()'
files.cpp:(.text+0x153): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccK55qt1.o:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
collect2: выполнение ld завершилось с кодом возврата 1
То же, что и просто при отсутствии подключения "stdafx.h". В общем какой-то заколдованный круг - не понятно, какие-же всё-таки файлы нужно подключить =)