Tôi có một dự án C++ trong CDT Eclipse sử dụng một số hàm từ OpevCV và nó biên dịch thành một tệp thực thi và hoạt động tốt. Bây giờ tôi muốn có một dự án C++ mới sử dụng một số hàm được định nghĩa trong phần đầu tiên. Tôi không thể khiến hai người biên dịch và liên kết với nhau.Bao gồm các tệp nguồn từ một dự án C++ khác trong Eclipse CDT
Tôi có #include "..."
trong các tệp có liên quan trong dự án mới, tôi đã thêm dự án cũ vào dự án được tham chiếu của dự án mới và trong cài đặt bản dựng của dự án mới, tôi đã thêm thư mục nguồn của dự án cũ dưới dạng bao gồm (-I
tùy chọn gcc).
Tôi đã kèm theo một ảnh chụp màn hình của Eclipse của tôi trong trường hợp nó rất hữu ích:
Các lỗi được đưa ra bởi trình biên dịch là:
Xây dựng mục tiêu: OtherProject
Gọi: GCC C++ Linker
g ++ -o "Dự án khác" ./src/foo.o
./src/foo.o: Trong hàm `main ':
/home/max/opencvjni/OtherProject/Debug/../src/foo.cpp:13: không xác định tham chiếu đến ngưỡng() '
collect2: ld trả lại 1 trạng thái thoát
make: *** [OtherProject] lỗi 1
đây là mã trong các tập tin khác trong các tab khác của ảnh chụp màn hình:
Threshold.cpp
#include <cv.h>
#include <highgui.h>
#include "Threshold.h"
using namespace cv;
int threshold(void) {
Mat img = imread("/home/max/opencvjni/monalisa.jpg", 0);
threshold(img, img, 127, 255, THRESH_BINARY);
imwrite("/home/max/opencvjni/monathresh.jpg", img);
return 0;
}
int main(void) {
threshold();
return 0;
}
Threshold.h
#ifndef THRESHOLD_H_
#define THRESHOLD_H_
int threshold(void);
#endif /* THRESHOLD_H_ */[/code]
- Eclipse phiên bản: 3.7.2
- CDT phiên bản: 8.0.2.201202111925
- Hệ điều hành: Ubuntu 12,04
Cảm ơn bạn đã nhìn bài của tôi, nếu không có cách nào để làm điều này, hoặc nó chỉ là hợp lý hơn để làm điều đó một cách khác, xin vui lòng không ngần ngại để nói như vậy.
Kính trọng
Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. – rkhb
@rkhb Tôi đã đưa ra một cách khác để thiết lập một dự án C++ có thể được sử dụng trong CDT nhật thực. Người dùng Novice có xu hướng không nhận thức được CMake và cố gắng sử dụng các dự án Eclipse ngay sau khi họ bắt đầu sử dụng Eclipse. Nó rất dễ sử dụng ban đầu nhưng khó khăn hơn để duy trì theo thời gian – gvd
Đây là một nhận xét tự động với văn bản được xác định trước từ một nhiệm vụ đánh giá. Ai đó đã gắn cờ câu trả lời của bạn cho việc xóa và tôi đã hỗ trợ nó. Ý kiến của tôi: Nếu bạn muốn trả lời "X" cho một "vấn đề XY", hãy làm điều đó trong một bình luận. – rkhb