2011-10-30 43 views
6

Tôi có câu hỏi sau: Tôi đã được giao nhiệm vụ - để xây dựng một ứng dụng. Có một tập tin sẵn sàng counter.h và một số tập tin khác - counter.obj. Nó bật ra rằng trong counter.h chỉ có tờ khai của các chức năng - làm thế nào tôi có thể bao gồm tập tin .obj vào tập tin .cpp để nó biên dịch? Tôi đang sử dụng Microsoft Visual Studio 2010 - và trong đó thư mục nên tập tin chính nó đi?Cách đưa các tệp .obj vào dự án

Trả lời

11

Thêm tệp obj vào Giải pháp giống như bạn làm với tệp cpp (tôi thường làm điều này bằng cách kéo và thả, tức là kéo tệp từ Windows Explorer và thả tệp đó vào một dự án trong cửa sổ Solution Exporer).

Bạn có thể đặt tệp obj cùng với tệp cpp; nó không thực sự quan trọng.

+0

Cảm ơn) Điều này làm việc khá tốt! =) –

+0

Điều này đã không làm việc cho tôi. Tôi không biết tại sao không. – Owl

+0

@Owl Bạn nên đặt câu hỏi về điều đó. Hãy chắc chắn rằng bạn mô tả tình hình chính xác của bạn, những gì bạn đã thử, và làm thế nào nó không thành công. – anatolyg

4

Bạn không thể đưa tệp đối tượng vào tệp cpp.
Trình biên dịch biên dịch tệp cpp và tạo tệp obj, cho mỗi tệp cpp, các tệp này được liên kết với nhau để tạo ra một libray hoặc một tệp thực thi.

Thông thường, bạn sẽ liên kết các thư viện (.lib hoặc .dll) với một Ứng dụng, Kiểm tra xem những ứng dụng đó có phù hợp với bạn hay không.

Nếu không,

Bạn có thể thử liên kết các tập tin đối tượng để ứng dụng của bạn bằng cách:
Đến thuộc tính dự án sau đó từ "Property Page" chọn nút "C/C++" của họ, bạn sẽ nhận được "Additional Include Directories" thêm tên của file.Keep đối tượng của bạn tệp obj của bạn trong thư mục chứa mã nguồn của bạn hoặc bạn có thể thêm thư mục từ:
Tools->Options->Projects and Solutions->VC++Directories.

Tôi chưa bao giờ thử phương pháp thứ hai ngoại trừ các dự án học thuật, cách đây nhiều năm, Vì vậy, không chắc chắn về nó, Vui lòng kiểm tra thông tin trên MSDN.

+0

Nhưng tôi phải làm gì sau đó nếu tôi chỉ có khai báo của lớp truy cập trong Counter.h nhưng không có định nghĩa về chức năng của nó! Thầy giáo đã cho tôi thêm Counter.obj - làm thế nào tôi có thể bắt đầu chương trình - Tôi không thực sự cần phải biết việc thực hiện của lớp, nhưng tôi cần cpp của tôi để biên dịch - và trình biên dịch cho: lỗi LNK2019: biểu tượng bên ngoài chưa được giải quyết "công khai: __thiscall Counter :: Counter (int) "(@ 0Counter @@ QAE @ H @ Z) được tham chiếu trong hàm _main –

+0

@ArtemMoskalev: Đó là lỗi ** Linker ** vì trình liên kết không thể tìm thấy định nghĩa của hàm trong tệp đối tượng, hãy thử phương pháp tôi đã cập nhật trong câu trả lời. –

+0

lỗi nghiêm trọng LNK1120: 1 bên ngoài chưa được giải quyết - vẫn như cũ nó không tìm thấy nó! Có lẽ các mustake là làm thế nào tôi hiển thị đường dẫn đến tập tin? Tôi đặt nó vào thư mục nơi main.cpp là và trong linker đã viết: counter.obj –

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