Я разработчик и инженер Android в компьютерном зрении.Компиляция командной строки с библиотеками в Linux с GCC
Я делаю проект компьютерного зрения с OpenCV на Mac, с OS X 10.9.5 в Xcode, и это кросс-платформенный, поэтому то, что я делаю, это командная строка для компиляции в linux и доступа к это (сервер).
Проблема, которая возникает у меня, заключается в том, что библиотека JSONCPP
не распознается. Я скомпилировать его с:
г ++ -I/дома/ec2 пользователей/проекта/OpenCV/включать/249include/включить/ -L/дом/ec2 пользователей/проект/OpenCV/сборки/Библиотека/- L/home/ec2-user/project/lib/-I/home/ec2-user/project/jsoncpp-master/include/-g -o binary main.cpp facerecognition.cpp utils.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui - lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_stitching -lopencv_flann -w -std = с ++ 11
Какая часть продукции является:
/home/ec2-user/project/utils.cpp:2475: не определено ссылка на `Json :: Value :: Value (Json :: ValueType)»
/дома/ec2 пользователей/проект/utils.cpp: 2478: не определено ссылка на `Json :: Value :: Value (Json :: ValueType)»
/home/ec2-user/project/utils.cpp:2479: не определено ссылка на `Json :: Значение :: Значение (Json :: ValueType) '
/home/ec2-user/project/utils.cpp:2484: не определено ссылка на `Json :: Значение :: Значение (целое)'
/home/ec2-user/project/utils.cpp:2484: не определено ссылка на `Json :: Value :: Append (Json :: Значение сопз &)»
/дома/ec2 пользователь/проект/utils.cpp: 2484: не определено ссылка на `Json :: Value :: ~ Value()»
/home/ec2-user/project/utils.cpp:2486: не определено ссылка на `Json: : Значение :: Значение (станд :: строка Const &)»
/home/ec2-user/project/utils.cpp:2486: не определено ссылка на` JSon :: Валу e :: operator [] (char const *) '
/home/ec2-user/project/utils.cpp:2486: undefined ссылка на `Json :: Value :: operator = (Json :: Value) '
/home/ec2-user/project/utils.cpp:2486: не определено ссылка на `Json :: Value :: ~ Значение()'
/дома/ec2 пользователей/проекта/Utils .cpp: 2487: не определено ссылка на `Json :: Значение :: Значение (Json :: Значение сопз &)»
/home/ec2-user/project/utils.cpp:2487: не определено ссылка на `Json :: Value :: operator [] (char const *) '
/home/ec2-user/project/utils.каст: 2487: не определено ссылка на `Json :: Значение :: оператора = (Json :: Value)»
/home/ec2-user/project/utils.cpp:2487: не определено ссылка на `Json: : Значение :: ~ Value() '
/home/ec2-user/project/utils.cpp:2488: не определено ссылка на `Json :: Value :: Append (Json :: Значение сопз &)'
/home/ec2-user/project/utils.cpp:2479: не определено ссылка на `Json :: Value :: ~ Value()»
/рупор е/ec2 пользователей/проект/utils.cpp: 2489: не определено ссылка на `Json :: Value :: ~ Value()»
/home/ec2-user/project/utils.cpp:2491: не определено ссылка на `Json :: StyledWriter :: StyledWriter()»
/home/ec2-user/project/utils.cpp:2492: не определено ссылка на `Json :: StyledWriter :: записи (Json :: Value Const &) '
/home/ec2-user/project/utils.cpp:2475: не определено ссылка на `Json :: Value :: ~ Value()'
/home/ec2-user/project/utils.cpp:2484: не определено ссылка на `Json :: Value :: ~ Value()»
/home/ec2-user/project/utils.cpp:2486 не определено ссылка на `Json :: Value :: ~ Value()»
/home/ec2-user/project/utils.cpp:2487: не определено ссылка на `Json :: Value :: ~ Value () '
/home/ec2-user/project/utils.cpp:2479: не определено ссылка на `Json :: Value :: ~ Value()'
я должен отметить, что я составил это для Android (NDK), прежде чем с этим Makefile:
local_path: = $ (назовем мой-Dir)
включают $ (CLEAR_VARS)
OPENCV_CAMERA_MODULES: = выкл
OPENCV_INSTALL_MODULES: = на
включают $ (local_path) /jsoncpp/Android.mk
Включает /Users/rafaelruizmunoz/Desktop/AndroidDevelopment/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.тк
OPENCV_LIB_TYPE: = ШАРЕД
LOCAL_C_INCLUDES + = $ (local_path)
LOCAL_C_INCLUDES + =/Users/rafaelruizmunoz/OpenCVtry/
LOCAL_C_INCLUDES + = /Users/rafaelruizmunoz/Desktop/RD/OpenCVtry/Библиотеки/jsoncpp-мастер/включают
local_path: = JNI
LOCAL_ ALLOW_UNDEFINED_SYMBOLS: = True
LOCAL_MODULE: = libXYZ
LOCAL_MODULE_NAME: = mylibXYZ
LOCAL_SRC_FILES: = facerecognition.cpp androidClass.cpp main.cpp utils.cpp helper.cpp lbp.cpp
LOCAL_LDLIBS + = -llog -ldl
LOCAL_CPPFLAGS: = -std = C++ 11
LOCAL_CFLAGS: = -w
CFLAGS = -g -w -Wall -Wextra -std = C++ 11 -Wno-записи-строки ../../include/boost
LOCAL_SHARED_LIBRARIES: = libJsoncpp libopencv_java
включают $ (BUILD_SHARED_LIBRARY)
, которые работали отлично.
На моем компьютере он отлично компилируется. То, что я должен был сделать это JSONCPP Makefile с Xcode генератора и добавления в качестве проекта:
Но я получаю из ключей для компиляции в Linux.
Знаете ли вы, что делать? Спасибо заранее.
С уважением.
Вы получаете ошибки компиляции 'utils.cpp', который чувствует себя больше как вы либо не хватает строка '# include' для материала JSON или (в зависимости от того, какие сообщения вы пропустили), это не поиск включенного файла. Не похоже, что у вас еще есть проблемы с соединением/библиотекой. – TripeHound
Привет @TripeHound спасибо за ваш ответ.Я добавил новый: «-I/home/ec2-user/project/json /' .... получил другие ошибки. Решил их, но после этого я получаю те же ошибки, о которых я упомянул ....: \ –
Не могу сделать больше, чем повторять предыдущие вопросы: имеет ли 'utils.cpp' соответствующую строку '# include' (s) и появились ли ранее ошибки об отсутствии каких-либо включенных файлов? – TripeHound