2012-01-16 47 views
19

Tôi đã cố gắng sử dụng LibCURL trong C++ trong một vài giờ, và nó thực sự đang trở nên căng thẳng. Tôi có cảm giác ai đó đã gặp vấn đề như thế này trước đây, nhưng tôi đã không tìm thấy và các bài viết đã cho tôi một giải pháp.Sử dụng LibCURL C++

Đây là những gì tôi đã thực hiện:

Kể từ khi libCurl download page là rất khó hiểu, tôi gửi bài chính xác những gì tôi đã thực hiện. Trước tiên, tôi đã tải xuống tệp ở trên cùng (curl-7.23.1.zip) và sau đó mở tệp đó trong winRAR. Sau đó tôi đã đi vào thư mục bao gồm, và sau đó trích xuất thư mục 'curl' ra khỏi đó.

enter image description here

Sau đó tôi tạo một dự án mới với Code :: Blocks, và sau đó di chuyển thư mục 'curl' vào thư mục tương tự như dự án của tôi.

enter image description here

sau đó tôi thêm '#include 'curl/curl.h'' lên đỉnh của tập tin của tôi, và sau đó thử và khởi tạo một var CURL đơn giản ... sau đó tôi nhận được một lỗi, nói rằng:

...\main.cpp|22|undefined reference to `_imp__curl_easy_init'| 

Dưới đây là một hình ảnh của mã/lỗi thực tế: enter image description here

Thành thực mà nói, tôi nghĩ rằng đó là một cái gì đó rất rất ngu ngốc mà tôi đang làm, nhưng tôi chỉ không biết phải làm gì.

+0

Tôi vẫn chưa nhận được tính năng này để hoạt động. Có ai có bất cứ đề nghị nào khác không? Cảm ơn một lần nữa. – hetelek

Trả lời

9

Cuối cùng đã nhận nó để làm việc với một số sự giúp đỡ

Sau đây là cách tôi đã làm nó:

  1. Tải gói libcurl của Win32 Generic '. (7.24.0)
  2. Trong mã :: Khối, nhấp chuột phải vào dự án của bạn và mở tùy chọn xây dựng.
  3. Đi tới 'Cài đặt trình kết nối' và thêm 'curldll' vào hộp danh sách 'Liên kết Thư viện'. (image)
  4. Đi tới 'Thư mục Tìm kiếm' và dưới 'Trình biên dịch' liên kết nó đến đường dẫn của thư mục 'curl-7.24.0-devel-mingw32 \ include' của bạn.
  5. Chuyển đến tab 'Trình liên kết' trong 'Thư mục tìm kiếm' và thêm đường dẫn của thư mục 'curl-7.24.0-devel-mingw32 \ lib' của bạn.
  6. Di chuyển tất cả các tệp DLL từ thư mục 'curl-7.24.0-devel-mingw32 \ bin' của bạn vào thư mục 'bin' của dự án.
  7. xây dựng và tận hưởng

Để sử dụng libcurl với Qt, nó là một chút dễ dàng hơn.

  1. Di chuyển tất cả các tệp/dll/thư viện cần thiết vào thư mục gỡ lỗi của bạn. Hãy chắc chắn rằng bạn bao gồm thư mục 'curl'.
  2. Chuyển đến tệp .pro của bạn và thêm vị trí của tệp 'libcurldll.a'. Ví dụ (mỏ):

    libs + = C: \ libcurl \ 7.24.0 \ lib \ libcurldll.a

  3. Thưởng thức.

Cảm ơn R. Martinho Fernandes!

2

Bạn cũng phải bao gồm thư mục lib/ từ libcurl, chứa các tệp *.a hoặc *.dll. Các tệp đề tài là chính thư viện, số nhị phân được biên dịch mà bạn liên kết chương trình của mình.

Nếu bạn liên kết thư viện động, bạn cần đặt *.dll vào thư mục dự án của mình, trong C:\Windows hoặc trong C:\MinGW\bin (nếu C: \ MinGW là đường dẫn trình biên dịch).

+0

Bạn có thể giải thích thêm một chút về những gì tôi sẽ làm không? Bởi * .dll, bạn đang đề cập đến 'libcurl.dll'? Cảm ơn một lần nữa. – hetelek

+0

Có, libcurl.dll và bất kỳ dll nào khác mà bạn có thể tìm thấy trong bản tải xuống của mình. Bạn cần trích xuất tệp nhị phân và đặt nó vào vị trí mà hệ điều hành của bạn sẽ tìm lại. Để liên kết tĩnh với dll, nó phải được đặt trong $ COMPILER_PATH \ lib, trong đó $ COMPILER_PATH thường là C: \ MinGW với C :: B – Geoffroy

0

"Đầu tiên, tôi đã tải xuống tệp ở trên cùng (curl-7.23.1.zip), sau đó mở nó trong winRAR. Sau đó tôi đã đi vào thư mục bao gồm rồi sau đó trích xuất thư mục 'curl' ra khỏi đó . "

Có vẻ như bạn không biên dịch mã nguồn để cuộn tròn. Tất cả các tải xuống ở đầu trang chỉ là nguồn.

+0

Anh ta không biên dịch libcurl. Tôi hiểu rằng câu hỏi của ông là về các lỗi biên dịch trong dự án của ông. Chúng được gây ra bởi vì anh ta đang cố gắng bao gồm những thứ chưa tồn tại. (Ít nhất, đó là những gì nó trông giống như tôi.) –

Các vấn đề liên quan