Tôi đang gặp một số sự cố khi biên soạn một vài tệp bằng tiêu đề. Dưới đây là một phân tích về mã của tôi:Lỗi "Tham chiếu đến hàm" không được xác định
file1.c
#include "header.h"
int main() {
func1();
return 0;
}
file2.c
#include "header.h"
void func1() {
... function implementation ...
}
header.h
void func1();
Các lỗi tôi nhận được là:
Trong chức năng
'main'
:
tài liệu tham khảo không xác định để'func1'
Lưu ý: Tôi chỉ sử dụng một sự cố đơn giản về cách 3 tác phẩm của tôi được thiết lập. Tôi cần phải làm điều này để làm việc với 3 tập tin. Tôi đang thiết lập/bao gồm tất cả mọi thứ đúng cách? Tôi cần phải sử dụng thiết lập này, nhưng tôi chỉ không chắc chắn như thế nào file.c được tham chiếu đến việc thực hiện thực sự của func1()
.
trình biên dịch bạn đang sử dụng là gì ?? bạn có thể cung cấp câu lệnh trình biên dịch của bạn không? – mathematician1975
Nếu bạn đang sử dụng 'gcc -o program file2.c file1.c', hãy thay đổi thành' gcc -o program file1.c file2.c'. Đặt hàng là quan trọng. –
Hmm, quyền của bạn là điều này sẽ hoạt động trong quá trình biên dịch gcc thông thường. Vấn đề là, vấn đề này cho nhiều hơn là từ một dự án rất lớn, với hàng trăm tập tin. Nhưng cấu trúc của vấn đề là như nhau. Tôi chỉ nghĩ có lẽ tôi đã không bao gồm những thứ đúng cách, nhưng tôi đoán đó không phải là trường hợp. – Tesla