Tôi đang cố gắng để có được đầu của tôi xung quanh một số khái niệm cơ bản, nhưng tôi dường như không thể tìm ra chúng.Cài đặt Thư viện C++ trên OS X
Tôi thực sự bối rối về ý nghĩa của việc cài đặt (tôi nghĩ chúng được gọi là thư viện) cho C++. Tôi đang cố gắng để cài đặt OpenCV, nhưng tôi không biết những gì cần phải xảy ra cho nó được cài đặt, làm thế nào để kiểm tra, hoặc những gì thực sự OpenCV là (Có phải là một thư viện, khuôn khổ, cái gì khác?).
Hiểu biết của tôi là OpenCV (và các thư viện/khung công tác khác) được phân phối như chỉ mã nguồn để có thể làm việc trên nhiều nền tảng. Sau đó, sau khi bạn tải xuống, bạn phải xây dựng nó (tôi không biết xây dựng có nghĩa là gì), và sau đó liên kết trình biên dịch của bạn với nó để nó có thể truy cập các tệp? Tôi không biết làm thế nào bất kỳ điều này sẽ được thực hiện, hoặc thực sự những gì điều này có nghĩa. Tôi nghĩ rằng rất nhiều điều này được thực hiện bởi CMake, nhưng tôi không biết CMake thực sự làm gì, bạn sẽ sử dụng nó như thế nào, hoặc cách bạn sẽ sử dụng thư viện/khung công tác trong mã của bạn. Ngoài ra, các thư viện như OpenCV sẽ được cài đặt ở đâu, làm thế nào để clang (hoặc bất kỳ trình biên dịch/liên kết nào khác) biết nơi tìm chúng, và loại tệp nào sẽ là (.a, .dylib, .cpp, .hpp, executables , hoặc một bộ sưu tập của tất cả mọi thứ)? Cấu trúc này có cụ thể với C++ và OS X hay nó phổ biến hơn không?
Tôi không tìm kiếm hướng dẫn về cách cài đặt OpenCV hoặc các thư viện khác, nhưng thay vào đó, tôi cố gắng tìm hiểu cách thực sự hoạt động, vì vậy tôi sẽ không cần hướng dẫn trong tương lai.
Có rất nhiều câu hỏi của bạn: bạn phải tìm hiểu cách biên dịch và liên kết mã C++, cách sử dụng thư viện của bên thứ ba với C++ và những công cụ xây dựng như 'cmake' là gì. Các khái niệm chung áp dụng cho C++ bất kể việc triển khai hay nền tảng. Sử dụng một IDE như XCode hoặc Eclipse-CDT hoặc Visual Studio sẽ có rất nhiều chi tiết cấp thấp hơn (bạn cấu hình một số cài đặt trong GUI và các công cụ thực hiện phần còn lại), nhưng câu hỏi của bạn rất rộng và khó trả lời mà không cần biết trình độ C++ của bạn. – birryree
Tôi khuyên bạn nên bắt đầu bằng cách viết một ứng dụng 'hello world' đơn giản bằng ngôn ngữ mà bạn muốn sử dụng OpenCV và nền tảng mà bạn định sử dụng. Tiếp theo đọc chi tiết về cách thức hoạt động. Điều chính mà bạn phải biết để làm sáng tỏ bí ẩn là điều này; các chương trình được biên dịch thành từng phần riêng biệt. Các phần riêng lẻ được kết hợp thành một ứng dụng bằng quá trình 'liên kết'. Sử dụng những thứ như OpenCV yêu cầu bạn liên kết các phần của chương trình với các bộ phận của người khác (như OpenCV). –
Cảm ơn bạn đã phản hồi nhanh. Tôi đã sử dụng thư viện của bên thứ 3 thành công với C++ trong quá khứ, nhưng tôi không biết điều gì đang diễn ra "dưới mui xe" bởi vì những thứ như pkg-config đã thực hiện công việc bẩn thỉu đối với tôi. Tôi chưa bao giờ sử dụng một IDE với C++ vì chúng có vẻ khó hiểu hơn với tôi như một người mới bắt đầu hơn là sử dụng một trình soạn thảo văn bản và học những gì IDE đang làm. Vấn đề lớn nhất của tôi cho đến nay là tất cả các tài nguyên tôi đã tìm thấy không thảo luận về những gì đang diễn ra ở mức độ thấp, và kết quả là tôi không biết cách mở rộng các chương trình hello world đơn giản thành những thứ lớn hơn và hữu ích hơn. –