Вопрос

Я использую мастерскую в реальном времени для автоматических исполнителей для 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top