Я скачал git проект.
Я пытаюсь скомпилировать с make-файлом на Ma c OSX (10.14.6)
, но мне не удалось с этой ошибкой
Я полагаю, что попытка скомпилировать файл c и cpp приводит к этой ошибке
Но она работает в Ubuntu 16.04
Как я могу это исправить?
терминал
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
audio.c:140:15: error: assigning to 'PrivateAudioDevice *' (aka
'privateAudioDevice *') from incompatible type 'void *'
gDevice = calloc(1, sizeof(PrivateAudioDevice));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
audio.c:166:30: error: assigning to 'Audio *' (aka 'sound *') from incompatible
type 'void *'
global = (gDevice->want).userdata;
~~~~~~~~~~~~~~~~^~~~~~~~
audio.c:243:13: error: cannot initialize a variable of type 'Audio *'
(aka 'sound *') with an rvalue of type 'void *'
Audio * new1 = calloc(1, sizeof(Audio));
^ ~~~~~~~~~~~~~~~~~~~~~~~~
audio.c:309:16: error: assigning to 'Audio *' (aka 'sound *') from incompatible
type 'void *'
new1 = malloc(sizeof(Audio));
^~~~~~~~~~~~~~~~~~~~~
4 errors generated.
Makefile
# Paths
OPENCV_PATH=/usr/local/include/opencv
# Programs
CC=
CXX=g++
# Flags
ARCH_FLAGS=
OPENCV = `pkg-config opencv --cflags --libs`
LIBS = $(OPENCV)
CFLAGS=-Wextra -Wall $(ARCH_FLAGS) -O3 -Wno-long-long
LDFLAGS=$(ARCH_FLAGS)
DEFINES=
INCLUDES=-I$(OPENCV_PATH)/include -Iinclude/
LIBRARIES=-L$(OPENCV_PATH)/lib -lopencv_core -lopencv_videoio -lopencv_highgui -lopencv_imgproc -lopencv_objdetect -lopencv_highgui
LINKER_FLAGS = -framework OpenGL -framework GLUT -lm -lSDL2 -lstdc++ -fpermissive -pthread
[...]
%.o: %.cc Makefile
@# Make dependecy file
$(CXX) -MM -MT $@ -MF $(patsubst %.cc,%.d,$<) $(CFLAGS) $(DEFINES) $(INCLUDES) $<
@# Compile
$(CXX) $(CFLAGS) $(DEFINES) -c -o $@ $< $(INCLUDES) $(LIBS)
-include $(DEPENDENCY_FILES)
bin/face_tracker: $(ALL_OBJECTS)
$(CXX) $(LDFLAGS) -o $@ $(ALL_OBJECTS) audio.c $(LIBRARIES) $(LINKER_FLAGS) $(LIBS)
[...]