1

私は一日中 libnid (Ubuntu LTS と Mac OS X) をインストールしようとしてきましたが、今ではそれを使ってプログラムをコンパイルする方法を知っています。

ドキュメントがあまりないのでここに書きますが、libnids のダウンロード フォルダーにサンプルがあり、makefile が含まれています。このメイクファイルの重要事項は次のとおりです。

CC = gcc    
PCAPLIB     = -lpcap    
LNETLIB     = -lnet    
LIBS        = -L../src -lnids $(PCAPLIB) $(LNETLIB) -lgthread-2.0 -lnsl

example:
    $(CC) example.c -o example $(LIBS)

Mac OS X でコンパイルする場合は、これを無視してください。

4

2 に答える 2

1

見つけた。最良の方法は、ライブラリをコンパイルしてから、「.a」ファイルへのローカル参照を使用することです。

メイクファイルの例

CC = gcc -g -Wall 
GLIB =  `pkg-config --cflags --libs glib-2.0`
PCAPLIB     = -lpcap
LNETLIB     = -lnet

LIBS_SRC    = libnids-1.24/src/libnids.a
LIBS        = $(PCAPLIB) $(LNETLIB) -lgthread-2.0 

program: program.c
    $(CC) -c $(CFLAGS) program.c -o program.o $(GLIB) $(LIBS)
    $(CC) program.o  -o program $(LIBS_SRC) $(GLIB) $(LIBS)

ただし、ライブラリをコンパイルしてシステムにインストールする場合は、上記の方法の代わりに-lnidsを使用する必要があります。しかし、最初の解決策は常に機能します。

于 2012-11-17T13:11:10.087 に答える