Ошибка Makefile в мастерской Matlab в реальном времени
-
21-09-2019 - |
Вопрос
Я использую мастерскую в реальном времени для автоматических исполнителей для VXWorks, но я получаю ошибку по следующей команде:
J:\Tornado\tests\add\add_tornado_rtw>make -f add.mk GENERATE_REPORT=0 TMW_EXTMODE_TESTING=0 RTWCAPIPARAMS=0 RTWCAPISIGNALS=0 MODELLIB=addlib.lib RELATIVE_PATH_TO_ANCHOR=.. MODELREF_TARGET_TYPE=NONE
add.mk:345: *** target pattern contains no `%'. Stop.
### Real-Time Workshop build procedure for model: 'add' aborted due to an error.
Вот Makefile:http://pastebin.com/m5bdf2c4c
Решение
Я предполагаю, что ваше «сделать» - это марки Cygwin, что не позволяет нативным путям Windows с колонами в них:
MATLAB_ROOT = C:\Program Files\MATLAB\R2008b
...
%.o : $(MATLAB_ROOT)/rtw/c/tornado/%.c
$(CC) $(CFLAGS) $(RT_MAIN_DEFINES) $<
Это расширится до
%.o : C:\Program Files\MATLAB\R2008b/rtw/c/tornado/%.c
$(CC) $(CFLAGS) $(RT_MAIN_DEFINES) $<
то есть сделать предполагает, что «C» - это шаблон (который он не находит %).
Bugzilla Report по этому поводу: https://chess.eecs.berkeley.edu/bugzilla/show_bug.cgi?id=55
Вы можете скачать исправленную версию Make отсюда: http://www.cmake.org/files/cygwin/make.exe
Не связан с StackOverflow