我编写了一个使用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
d定义为socklen_t
。我在这里做错什么了吗?我应该传递给夹板什么标志以使其在程序上起作用?
最佳答案
我想我找到了解决方案。事实证明,我的机器(最近升级到Ubuntu 11.10的机器)上的sys/socket.h
不在/usr/include
下。
我必须将以下标志添加到splint
:
-I/usr/include/x86_64-linux-gnu
然后它起作用了。