мне нужно создать Makefile, который будет компилировать мой simpleprogram.c
к sp
и его можно назвать как команды Unix, как ls
, ps
и т.д., без написания явно ./sp
. Я смотрел на Интернет и не мог найти решение или искал его неправильно. Я не могу найти «исполняемый файл без ./», потому что я не знаю, что это называется => «./
»Создание Makefile для кода C, работает без ./
ответ
Поместите двоичный файл в каталог, который находится в вашем PATH
.
Но когда я нахожусь в том же каталоге, не должен ли он работать? – Mustafa
Нет, только с './Sp', если вы находитесь в том же каталоге. –
Какова была цитата о тех, кто не изучил историю, обреченную на повторение своих ошибок? –
Вы можете просто сделать:
export PATH=$PATH:.
Но это не очень хорошая идея, в общем.
Как вы заметили, это не очень хорошая идея. В самом деле, я бы отметил, что это действительно ужасная идея. :) – Perry
Просто скопируйте свою программу в каталог системных bin (исполняемых двоичных файлов).
Чаще всего это /usr/bin
для программ, которые могут использоваться всеми пользователями.
Если приложение предназначено только для администраторов, вы должны использовать каталог /usr/sbin/
.
Не забудьте установить «исполняемый» флаг с CHMOD: chmod +x your_app
Правильное решение этой проблемы (если вы не хотите sp
быть запущен из-за пределов Makefile), это вызвать программу с помощью полное имя пути вместо ./
(которое относительное и может меняться при создании нескольких каталогов). В вашем Makefile сделать что-то вроде:
SP_DIR := $(shell pwd)/spdir
rule : somedependency
$(SP_DIR)/sp
Где $(shell pwd)
будет расширяться в каталог Makefile, которая запускается из. Если ваш каталог sp находится в родительском каталоге этого, в пути можно также использовать ..
: например.
SP_DIR := $(shell pwd)/../../spdir
Если вы хотите запустить зр из-за пределов Makefile, то вам необходимо либо копию зр в каталог, указанный в переменной PATH (сделать echo $PATH
, чтобы увидеть их), или изменить свой .bashrc или эквивалент файл, чтобы сделать PATH включать каталог, который зр построен.
Джон
- 1. Создание Makefile
- 2. Создание надежного Makefile для C++-программы
- 3. Makefile для кода cuda
- 4. Создание Makefile для Unix
- 5. makefile, отлично работает, но работает без изменений.
- 6. создание файла makefile для немого
- 7. создание Makefile для 2 целей
- 8. C Makefile не работает
- 9. makefile для C++ 11 не работает
- 10. Создание Makefile для нескольких казней
- 11. Создание каталога Makefile для подкаталогов
- 12. Создание Makefile в Raspbian
- 13. Создание надстройки DLL C# для Excel без преобразования кода VBA
- 14. makefile не работает для -std = C++ 11
- 15. Создание общего файла makefile
- 16. Создание Makefile для г ++ компилятор
- 17. работает без ошибок сделать все в Makefile
- 18. C++ Создание писателя кода
- 19. Borland C++ 5.0 Создание файла Makefile
- 20. Создание Makefile для компиляции 2 файла сразу
- 21. Как сделать зависимостей Makefile для кода python
- 22. Makefile ... создание статической библиотеки
- 23. Создание makefile FORTRAN
- 24. Создание кода Matlab для C++ (формат hdf5)
- 25. Генератор Makefile для C++?
- 26. SCIP makefile для C++
- 27. Makefile для программы C
- 28. Первичный makefile создание каталогов
- 29. Создание/улучшающий Makefile
- 30. создание смешанного кода c/C++
Это '' ps' или sp'? – asaelr
@asaelr ps - пример из команд unix, который показывает процессы. sp - это то, что я хочу, делая simpleprgram.c усложнять sp, который можно использовать, просто набрав sp в этой папке. – Mustafa
К сожалению, я неправильно понял это. :) – asaelr