mieczeslaw писал(а): ↑07.05.2010 12:49
угу потому что
g++ -Wall -c "new.cpp" -o new
должно быть, а так - там a.out, правда если папка new уже есть, и она пустая - ее перед этим удалить бы
Не совсем врубился, честно сказать. Компилятору должна передаваться другая команда?
sorry, даже не совсем такая команда которую я написал. создайте в пустой директории new.cpp и выполните эту команду.
Код: Выделить всё
$ g++ -Wall -c "new.cpp"
$ ls
new.cpp new.o
$
потому что(man gcc):
Код: Выделить всё
-c Compile or assemble the source files, but do not link. The linking stage simply is not done. The
ultimate output is in the form of an object file for each source file.
By default, the object file name for a source file is made by replacing the suffix .c, .i, .s,
etc., with .o.
Unrecognized input files, not requiring compilation or assembly, are ignored.
если убрать -c получим исполняемый файл a.out:
Код: Выделить всё
$ g++ -Wall "new.cpp"
$ ls
a.out new.cpp new.o
$ ./a.out
Hello World!$
$
если добавить -o new получим исполняемый файл new:
Код: Выделить всё
$ g++ -Wall -onew "new.cpp"
$ ls
a.out new new.cpp new.o
$ ./new
Hello World!$
$
в последнем случае вы как раз таки и получите ./new который по идее сможет запустить ./geany_run_script.sh