私はコードのこの非常に単純な部分に取り組んでいますが、どういうわけかビルド エラーは私にとってかなり奇妙です。プロジェクトに次のファイルがあります: 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.メイクファイル
-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)
andを指しています。(B)
誰が問題が何であるかを見つけるのを助けることができますか? ありがとう。