1

Пишу программу Hello World. 

#include "iostream"
using namespace std;

int main()
{
    cout << "lalalla!";
    //system("pause");
    return 0;
}

При запуске выходит это

 Консоль:
sh: 1 /media/DATA/Projects/C++_Projects/03/main: Permission denied
Process returned 123 (0x7e) execution time : 0.001 s
Press Enter to continue.
 

В Visual Studio все работает.

Asus K53SD Intel Core i3, 4gb RAM, Intel HD 3000 + nVidia 610m

2

Konlor95 пишет:

sh: 1 /media/DATA/Projects/C++_Projects/03/main: Permission denied

вы собираете НЕ ТУДА.

У каждого файла в Linux есть права доступа, в т.ч. право использования(execute). Компилятор(точнее линкер) знает об этом, и устанавливает его.

Однако. В целях безопасности, все ФС смонтированные юзером(man mount, see users) по умолчанию монтируются с фичей noexec(а ФС типа vfat с fmask=0177). Таким образом права исполнения у файлов нет.

Попробуйте разместить проект в каталоге $HOME, и проверьте, что-бы в его опциях монтирования не было noexec.

Ну также вы можете сменить fmask=0077 для этой флешки. Ещё можно (если вы рут) отправить файл в /usr/local/, и там поставить ему chmod 0755 main, хотя это опасно конечно.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

Спасибо, в домашнем каталоге работает. А как убрать опцию noexec ? Мне надо хранить файлы на локальном диске D.

Asus K53SD Intel Core i3, 4gb RAM, Intel HD 3000 + nVidia 610m

4

Konlor95 пишет:

А как убрать опцию noexec ?

/etc/fstab

Fedora GNOME3

5

И он не находит заголовочные файлы для gtk

Asus K53SD Intel Core i3, 4gb RAM, Intel HD 3000 + nVidia 610m

6

А devel пакет libgtk установлен?

Fedora GNOME3

7

Konlor95 пишет:

А как убрать опцию noexec ?

это смотря где. Да, стандартно в /etc/fstab, но флешек там обычно нет.

Konlor95 пишет:

Мне надо хранить файлы на локальном диске D.

если общий с маздаем(ntfs), то

       uid=value, gid=value and umask=value
              Set  the  file  permission on the filesystem.  The umask value is given in octal.  By
              default, the files are owned by root and not readable by somebody else.

т.е. нужна опция umask=0000 (если я конечно ничего не путаю, т.к. маздая у меня нет чтоб проверить)

ntfs НЕ умеет exec, и потому ставит право execute так, как написано в umask (точнее оно инвертирует umask, если umask=0000, это значит -- всё разрешено).

Konlor95 пишет:

И он не находит заголовочные файлы для gtk

точнее. Какие?

Вангую, что в Makefile надо добавить

CFLAGS=-c -Wall -O0 `pkg-config --cflags gtk+-3.0`
LDFLAGS=`pkg-config --libs gtk+-3.0`
Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)