bash: нет такого файла или каталога

Я написал простую программу на C, которая использует визуальный интерфейс GTK + (я могу опубликовать код, если он уместен). Я могу скомпилировать его без ошибок и предупреждений, используя:

gcc -c s9p2.c 
pkg-config --cflags glib-2.0
pkg-config --cflags gtk+-2.0

Где s9p2.c - имя программы. Однако, когда я пытаюсь запустить программу, я получаю следующее:

bash: ./s9p2: No such file or directory

Я проверил с помощью команды ls, и файл на самом деле там. Я также пытался установить. Я попытался найти решение для поиска в Google, и одним из подходов было установить пакет ia32-libs. Я сделал это, но это не сработало.

Буду признателен за любую помощь. Пожалуйста, прости меня, если я не был ясен.

РЕДАКТИРОВАТЬ: Как и просили, это вывод ls -l s9p2 *:

-rw-rw-r-- 1 francisco francisco 2492 Jan  3 19:11 s9p2.c
-rw-rw-r-- 1 francisco francisco 6616 Jan  3 21:13 s9p2.o
0
задан 4 January 2014 в 01:30

2 ответа

Ваша основная ошибка заключается в добавлении флага -c к вашей команде - это говорит gcc - скомпилировать исходный файл (с получением объектного кода , файла , s9p2.o), но остановимся на , связав его с библиотеками, необходимыми для создания исполняемой программы (s9p2)

. Правильная команда должна быть что-то вроде

gcc -o s9p2 `pkg-config --cflags glib-2.0` s9p2.c `pkg-config --libs gtk+-2.0`

или

gcc -o s9p2 s9p2.c `pkg-config --cflags --libs gtk+-2.0`
0
ответ дан 4 January 2014 в 01:30

Во-первых, файл c не является программой, исполняемым двоичным файлом, который должен называться s9p2 (без расширения), если вы не указали что-то другое, чем компиляция. Предполагая, что вы скомпилировали исполняемый файл, вам нужно сделать его исполняемым как программу, если это еще не сделано:

Файл не является исполняемым, попробуйте запустить:

chmod +x s9p2
0
ответ дан 4 January 2014 в 01:30

Другие вопросы по тегам:

Похожие вопросы: