簡體   English   中英

奇怪的makefile構建錯誤

[英]Strange makefile build error

我正在研究這個非常簡單的代碼部分,但不知何故構建錯誤對我來說很奇怪。 我在項目中有這些文件: main.chttp_request.hhttp_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM