我编写了一个使用curl库的fornol.c
程序,因此包含以下内容:
#include <curl/curl.h>
我想在我的程序上运行splint
,但这是我得到的错误:
$ splint fornol.c
Splint 3.1.2 --- 03 May 2009
/usr/include/curl/curlbuild.h:165:33: Parse Error:
Suspect missing struct or union keyword: socklen_t :
int. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.
curlbuild.h
中的可疑行看起来像这样:
/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
其中CURL_TYPEOF_CURL_SOCKLEN_T
#define
为socklen_t
。
我在这里做错了吗?我应该将哪些标志传递给夹板以使其适用于我的程序?
答案 0 :(得分:1)
我想我找到了解决方案。事实证明我的机器上sys/socket.h
不在/usr/include
下(我最近升级到Ubuntu 11.10)。
我必须将以下标志添加到splint
:
-I/usr/include/x86_64-linux-gnu
然后它奏效了。