なぜスプリントはcurl/curlbuild.hを解析しないのですか?
質問
私は書いた fornol.c
Curlライブラリを使用しているため、以下を含むプログラム:
#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
.
ここで何か間違ったことをしていますか?プログラムで機能させるために、スプリントにどのようなフラグを渡す必要がありますか?
解決
解決策を見つけたと思います。それがわかります sys/socket.h
下にありません /usr/include
私のマシンで(最近Ubuntu 11.10にアップグレードしました)。
次のフラグを追加する必要がありました splint
:
-I/usr/include/x86_64-linux-gnu
そして、それはうまくいきました。
所属していません StackOverflow