У меня нет опыта работы с C ++, и мне нужно всего лишь внести небольшую корректировку в приложение C ++, чтобы выполнить HTTP-запрос для аутентификации пользователя.
Curlpp — вариант, но при включении библиотек я получаю ошибку при сборке:
Undefined symbols for architecture x86_64:
"curlpp::OptionBase::OptionBase(CURLoption)", referenced from:
app_idomsconnector::RTMPAppProtocolHandler::GetAuthPassword(std::string) in libidomsconnector.a(rtmpappprotocolhandler.cpp.o)
curlpp::OptionTrait<std::string, (CURLoption)10002>::clone() const in libidomsconnector.a(rtmpappprotocolhandler.cpp.o)
Как я понимаю, мне нужно добавить / связать библиотеку в файле CMAKELists.txt. Кто-нибудь может сказать мне, что именно мне нужно добавить? (работает OSX 10.8) Как я уже упоминал, у меня нет опыта работы с C ++, поскольку я использую Java большую часть времени.
Как я понимаю, мне нужно добавить / связать библиотеку в файле CMAKELists.txt.
Это именно то, что вы должны сделать 🙂
В C ++ у вас есть два типа файлов для использования, когда вы включаете библиотеку в ваш проект:
(это немного упрощено, но здесь это не важно)
Сообщение об ошибке говорит вам, что вы не предоставляете объектные файлы компилятору, поэтому он не знает, что означают некоторые слова (классы и функции), которые вы используете в своем проекте.
Если вы создаете исполняемый файл с именем «MyExecutable», вы должны иметь такую строку
add_executable (MyExecutable …)
в вашем CMakeLists.txt.
После этой строки попробуйте добавить
target_link_libraries (MyExecutable curlpp)
Если у вас уже есть строка target_link_libraries с «MyExecutable», просто добавьте curlpp в другие библиотеки.
Других решений пока нет …