Компиляция Mex-файла для Java - PullRequest
0 голосов
/ 15 ноября 2018

Я нашел основанную на Java систему TCP-IP для matlab, которая могла бы решить многие проблемы, которые у меня возникали с несколькими и бесперебойными соединениями. Однако я в тупик о том, как заставить это работать. Я много раз компилировал код под linux, но никогда на windows.

Код, который я пытаюсь скомпилировать, находится здесь и гласит:

Строить

Скомпилируйте MEX-файлы и помощники по Java с помощью прилагаемого файла Makefile.

make

Вопрос в том, как? Я думал об использовании командной строки Visual Studio, но в итоге получаю сообщение об ошибке:

makefile (8): фатальная ошибка U1036: синтаксическая ошибка: слишком много имен слева от '='

Что говорит о том, что мне нужно либо редактировать make-файл, либо я использую неправильный компилятор. И я не знаю Java, поэтому даже не знаю, с чего начать при его компиляции.

edit: Обновление, чтобы показать, какой код находится в make-файле

MATLABDIR ?= /usr/local/matlab
MATLAB := $(MATLABDIR)/bin/matlab
MEX := $(MATLABDIR)/bin/mex
MEXEXT := $(shell $(MATLABDIR)/bin/mexext)
MEXSOURCES := $(wildcard private/*.cc)
MEXTARGETS := $(patsubst %.cc,%.$(MEXEXT),$(MEXSOURCES))
CLASSPATH := java
JAVASOURCES := $(wildcard java/matlab_tcpip/*.java)
JAVATARGETS = $(patsubst %.java,%.class,$(JAVASOURCES))
JARFILE = java/matlab_tcpip.jar

all: $(JARFILE) $(MEXTARGETS)

%.$(MEXEXT):%.cc
    $(MEX) $< -output $@

$(JARFILE): $(JAVATARGETS)
    jar cvf $@ -C java matlab_tcpip/
    jar i $@

%.class:%.java
    javac -cp $(CLASSPATH) $<

test: $(JARFILE)
    echo "run test/runServer.m" | $(MATLAB) -nodisplay & \
    echo "run test/runClient.m" | $(MATLAB) -nodisplay

clean:
    rm $(MEXTARGETS) java/matlab_tcpip/*.class $(JARFILE)
...