[英]Strange makefile build error
我正在研究這個非常簡單的代碼部分,但不知何故構建錯誤對我來說很奇怪。 我在項目中有這些文件: main.c
, http_request.h
, http_request.c
; 和一個簡單的Makefile
。
1. http_request.h
/* STRUCTURES */
struct http_param {
char key[MAX_BUFFER];
char *value;
};
struct http_request {
int size;
struct http_param data[MAX_PARAM];
};
/* FUNCTIONS */
int parse_http_request(apr_pool_t *pool, const char *args, struct http_request *req); /* (A) */
2. http_request.c
#include <http_request.h>
...// something else goes here, it's fine
int
parse_http_request(apr_pool_t *pool, const char *args, struct http_request *req) /* (B) */
{
3. Makefile
-I$(PROJECT_DIR)/include
該目錄包含http_request.h
。
然后我構建,它引發了這個錯誤:
/project/src/http_request.c:14: warning: 'struct http_request' declared inside parameter list
/project/src/http_request.c:14: warning: its scope is only this definition or declaration, which is probably not what you want
/project/src/http_request.c: In function 'parse_http_request':
錯誤指向(A)
和(B)
正如我在上面的源代碼中提到的那樣。
任何人都可以幫助找出問題所在? 謝謝。
我懷疑,看到你使用apr_pool_t,你的include路徑中也包含了apache。 apache還提供了一個名為http_request.h的文件,其中包含一個而不是你擁有的文件。
采用
#include "http_request.h"
代替
#include <http_request.h>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.