-2
У меня есть приложение на C++, и я создал для него make-файл. как, я получаю следующую ошибку:C++ Ubuntu makefile error
/usr/bin/ld: orsProcessor.o: undefined reference to symbol '[email protected]@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [ors] Error 1
Я застрял за последние 4 часа. Может кто-то мне помочь, пожалуйста.?
И мой Makefile выглядит следующим образом:
cc=g++
cflags = -c
all: ors
ors: orsMain.o orsClassifier.o orsObjectData.o orsProcessor.o
$(CC) orsMain.o orsClassifier.o orsObjectData.o orsProcessor.o -o ors -lstdc++
orsMain.o: orsMain.cpp
$(CC) -lhighgui.so -limgproc.so -lcore.so $(cflags) orsMain.cpp -o orsMain.o -lstdc++
orsClassifier.o: orsClassifier.cpp
$(CC) -lhighgui.so -limgproc.so -lcore.so $(cflags) orsClassifier.cpp -o orsClassifier.o -lstdc++ -lm
orsObjectData.o: orsObjectData.cpp
$(CC) -lhighgui.so -limgproc.so -lcore.so $(cflags) orsObjectData.cpp -o orsObjectData.o -lstdc++ -lm
orsProcessor.o: orsProcessor.cpp
$(CC) -lhighgui.so -limgproc.so -lcore.so $(cflags) orsProcessor.cpp -o orsProcessor.o -lstdc++ -lm
clean:
rm -rf *.o *~ ors
#ORSObjectRecognition.o: ORSObjectRecognition.cpp
# $(CC) $(cflags) ORSObjectRecognition.cpp
Уведомление, в котором работает линкер, плачет? 'Atan'. Это должен быть красный флаг, который вы не связываете с математикой lib ('-lm'). –
Возможный дубликат [неопределенная ссылка на «только некоторые функции math.h»] (http://stackoverflow.com/questions/6534191/undefined-reference-to-only-some-math-h-functions) –
Где делали ' highgui.so', 'imgproc.so' и' core.so'? Другая (более новая) система? Вы используете 'atan' в своем коде? –