Что нужно сделать, чтобы получить распространяемую программу от Eclipse? - PullRequest
1 голос
/ 14 июня 2011

Я создал программу на C ++ в Eclipse, работающую на Redhat, которая компилируется и прекрасно работает через Eclipse.

Я думал, что для запуска ее отдельно для Eclipse вы используете артефакт сборки, который находится в наборе каталогов.через свойства проекта.

Однако этот исполняемый файл не запускается (я знаю, что это исполняемый файл, поскольку я установил его как исполняемый файл через свойства проекта, и он отображается как таковой с помощью команды ls иПроводник).

При попытке запустить его с использованием имени исполняемого файла выдается ошибка:

bash: <filename>: command not found

При попытке запустить его как файл bash:

<filename>: <filename>: cannot execute binary file

А при запуске с "./" перед именем файла ничего не происходит.В запущенных процессах ничего нового не появляется, и терминал просто переходит на следующую строку, как будто я только что нажал клавишу ввода без команды.

Любая помощь?

1 Ответ

2 голосов
/ 14 июня 2011

Вы более или менее разобрались с первой ошибкой самостоятельно. когда вы просто запускаете <filename>, его нет в переменной окружения PATH, поэтому вы получаете «команда не найдена». Вы должны указать полный или относительный путь к программе, чтобы запустить ее, даже если вы находитесь в том же каталоге, что и программа - вы запускаете ее с ./<filename>

Когда вы запускаете свою программу, она, похоже, просто завершает работу, как только вы ее запускаете - мы ничего не можем с этим поделать, не зная, что делает программа, или не увидев некоторый код.

Вы можете выполнить некоторую отладку, например, после того, как программа просто выйдет, запустите echo $?, чтобы увидеть, завершилось ли оно с определенным значением выхода, или запустите вашу программу, используя инструмент strace , чтобы посмотреть, что она делает (или сделайте это обычным способом, вставьте отладку printf или отладьте его с помощью gdb)

...