Я написал простую программу на 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
Ваша основная ошибка заключается в добавлении флага -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`
Во-первых, файл c не является программой, исполняемым двоичным файлом, который должен называться s9p2
(без расширения), если вы не указали что-то другое, чем компиляция. Предполагая, что вы скомпилировали исполняемый файл, вам нужно сделать его исполняемым как программу, если это еще не сделано:
Файл не является исполняемым, попробуйте запустить:
chmod +x s9p2