Я пытаюсь скомпилировать программу с пользовательским интерфейсом как .out файл. Я скомпилировал его просто тот же путь прежде, и я не отредактировал код, с помощью этого
`pkg-config --cflags --libs gtk+-2.0`
Назад в 16,04, код, скомпилированный в приложение и я мог дважды щелкнуть и запустить приложение. На этот раз я не могу. Когда я дважды щелкаю, это пытается открыться поляной и показывает ошибку. По некоторым причинам компилятор или система думают, что файл, как предполагается, является общей библиотекой. Как я могу сказать этому быть приложением? Я должен выполниться, это в терминале как non-gtk скомпилировало файл C.
Как я могу скомпилировать его как приложение на 18,04?
С gcc-6.2 gcc в Ubuntu настроен с - enable-default-pie опция, (Положение Независимый Исполняемый файл), вот почему это - общий объект. (-общий объект LSB
Переопределение компилятора для этого -fno-pie
, переопределение компоновщика -no-pie
По-видимому, для a.out файла только необходимо применить компоновщика - без кругов, хотя обе опции вместе также работают.
Также фактором может быть Ваш файловый менеджер, некоторые позволят отмечать и выполнять общий объект как exectubale. Наутилус больше не делает. (Немо делает