Kurento Media Server ile birlikte gitmek için bir OpenCV modülü yazıyorum. lib curl kullanarak bir URL'den dosya okuyorum.Kurento: OpenCV modülündeki bağlantı kütüphanesi
aşağıdaki Ben kodu olarak:
#include<curl/curl.h>
size_t write_data(char *ptr, size_t size, size_t nmemb, void *userdata)
{
vector<uchar> *stream = (vector<uchar>*)userdata;
size_t count = size * nmemb;
stream->insert(stream->end(), ptr, ptr + count);
return count;
}
Mat curlImg(const char *img_url, int timeout=10)
{
vector<uchar> stream;
CURL *curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, img_url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &stream);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
return imdecode(stream, -1);
}
Mat image = curlImg(link);
o bina üzerine: Ben aşağıdaki uyarıları almak ve sonuçta paket yüklü değil:
dpkg-shlibdeps: uyarı: sembol curl_easy_cleanup bulundu uyarı: sembol curl_easy_perform kütüphaneleri
dpkg-shlibdeps hiçbirinde bulundu: uyarı: kütüphaneler
dpkg-shlibdeps hiçbiri sembol kütüphaneleri
dpkg-SHL hiçbiri bulundu curl_easy_setopt ibdeps: Uyarı: sembol curl_easy_init
Benim tahminim CMakeLists.txt yılında kütüphaneler
Peki nasıl bu kitaplıkları bağlanmalıdır bağlanırken bir sorun olmasıdır kütüphanelerin hiçbiri bulundu?
target_link_libraries() yöntemi doğru mu? Eğer öyleyse, sözdizimi nedir?
Düzenleme:
Bunlar şimdiye kadar denedim yollarıdır.
SET(requiredlibs)
FIND_PACKAGE(CURL)
IF(CURL_FOUND)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
SET(requiredlibs ${requiredlibs} ${CURL_LIBRARIES})
ELSE(CURL_FOUND)
MESSAGE(FATAL_ERROR "Could not find the CURL library and development files.")
ENDIF(CURL_FOUND)
target_link_libraries (curl)
SET(${CURL_LIBRARIES})
https://github.com/Kurento/kurento-media- sunucu/damla/15f6a5f12e336292abe78b28afe57946d860be84/sunucu/CMakeLists.txt # L29). – igracia
Onları şimdi nasıl ilişkilendiriyorsunuz? Ben denedim – santoscadenas
: target_link_libraries (curl) ve Hem işe yaramadı SET ($ {CURL_LIBRARIES}). – AVB