2012-02-04 47 views
5

Tệp 'safe-read.c' bao gồm lib 'config.h', nơi được đặt tệp này?Config.h - Không có tệp hoặc thư mục nào như vậy

Tôi đã tìm thấy nhiều tệp có tên này trong libs, nhưng tôi không biết cái nào là đúng.

CẬP NHẬT

Tôi đã tập của tôi với:

... 
#include <safe-read.h> 
#include <safe-read.c> 
... 

trong file an toàn-read.c có này bao gồm khối

#include <config.h> //line 19 

/* Specification. */ 
#ifdef SAFE_WRITE 
# include "safe-write.h" 
#else 
# include "safe-read.h" 
#endif 

/* Get ssize_t. */ 
#include <sys/types.h> 
#include <unistd.h> 

#include <errno.h> 

#ifdef EINTR 
# define IS_EINTR(x) ((x) == EINTR) 
#else 
# define IS_EINTR(x) 0 
#endif 

#include <limits.h> 

#ifdef SAFE_WRITE 
# define safe_rw safe_write 
# define rw write 
#else 
# define safe_rw safe_read 
# define rw read 
# undef const 
# define const /* empty */ 
#endif 

Khi tôi biên dịch tập tin tôi của tôi đã có lỗi sau:

file: X/Y/gnulib/lib/safe-read.c line: 19 message: fatal error: config.h: No such file or directory

+0

Bạn cần chỉ định những gì bạn đang cố gắng biên dịch (thư viện nào) - thêm nó làm thẻ cho câu hỏi của bạn. Rất có thể config.h được tạo ra cho một công cụ cấu hình - hãy thử kiểm tra bất kỳ kịch bản cấu hình nào trong thư mục xây dựng libs. – stefan

+0

Tại sao bạn quá thuyết phục bạn cần đọc an toàn? Bạn có biết mục đích của nó nhằm mục đích phục vụ? –

+0

Tôi biết rằng có những cách tốt hơn, nhưng nó là một hạn chế của dự án cho thời điểm này. Đó là một dự án trường học và giáo sư muốn nó và anh ấy không phải là rất nhanh chóng để trả lời các câu hỏi của sinh viên. – Figus

Trả lời

13

config.h thường được tạo bởi tập lệnh ./configure để phản ánh các đặc điểm của hệ thống đích. Trong trường hợp của bạn, nó được gắn vào toàn bộ gnulib "chúng ta hãy thay thế tất cả các chức năng thư viện của hệ thống bằng cách thoát khỏi đống" lộn xộn ", rất nhiều thứ trong dự án gnulib config.h là thứ mà phần của gnulib là configure được tạo ra.

1

Có thể bạn đang thiếu gói libconfig-dev từ hệ thống của mình. Chỉ cần chạy lệnh sau và nó sẽ sửa chữa nó:

sudo apt-get install libconfig-dev

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