Это похоже на то, что вы не включаете заголовки, которые определяют недостающие символы, например NSViewController
, прежде чем включать заголовок моста.
Использование трубы и xargs:
find ./.stack-work/install -name nonosolver-exe -print0 | xargs -0 -I{} setsid "{}" >/dev/null 2>&1 < /dev/null &
Оболочка
Используйте $(...)
, чтобы вставить стандартный вывод одной команды в виде строки:
setsid "$(find ./.stack-work/install -name nonosolver-exe)" >/dev/null 2>&1 < /dev/null &
Это вызовет неожиданные проблемы, если вы в конечном итоге найдете количество совпадений, кроме одного. Вы можете убедиться, что в переменной сначала выполняется проверка ошибок:
exe_path="$(find ./.stack-work/install -name nonosolver-exe)"
# check non-empty and no newlines
setsid "${exe_path}" >/dev/null 2>&1 < /dev/null &
Makefile
Эквивалентом сборки bash $(...)
является makefile $(shell ...)
. И переменные расширяются с помощью $(...)
, а не ${...}
:
setsid "$(shell find ./.stack-work/install -name nonosolver-exe)" >/dev/null 2>&1 < /dev/null
или
EXE_PATH = $(shell find ./.stack-work/install -name nonosolver-exe)
setsid "$(EXE_PATH)" >/dev/null 2>&1 < /dev/null