これをダウンロードして使用する必要があるプロジェクトに取り組んでいます。ダウンロードしたフォルダー内で展開すると、次の 3 つのものが表示されます。
- 「include」というフォルダ
- 「src」というフォルダ
- 「Makefile」というファイル
いくつかの調査の後、これらのファイルを含むディレクトリに移動し、コマンドを入力するだけでよいことがわかりましたmake
。
私のシステムにライブラリをインストールしたようです。そこで、ライブラリを使用するサンプル コードを試しました。
csp_conn_t * conn;
csp_packet_t * packet;
csp_socket_t * socket = csp_socket(0);
csp_bind(socket, PORT_4);
csp_listen(socket, MAX_CONNS_IN_Q);
while(1) {
conn = csp_accept(socket, TIMEOUT_MAX);
packet = csp_read(conn, TIMEOUT_NONE);
printf(“%S\r\n”, packet->data);
csp_buffer_free(packet);
csp_close(conn);
}
コードのサンプル サーバー側に指定されているのはこれだけです。だから私はこれらを一番上に追加することにしました:
#include <csp.h>
#include <csp_buffer.h>
#include <csp_config.h>
#include <csp_endian.h>
#include <csp_interface.h>
#include <csp_platorm.h>
正しい軌道に乗っていると思って、gcc でコードをコンパイルしようとしましたが、次のエラーが発生しました。
csptest_server.c:1: fatal error: csp.h: No such file or directory
compilation terminated.
結局、ライブラリを正しくインストールできなかったのではないかと思いましたが、念のため、このコマンドを実行して次の結果を得ることで確認できることがわかりました。
find /usr -iname csp.h
/usr/src/linux-headers-2.6.35-28-generic/include/config/snd/sb16/csp.h
/usr/src/linux-headers-2.6.35-22-generic/include/config/snd/sb16/csp.h
csp.h がインストールされているようですが、ヘッダーのインクルード行で間違って参照している可能性がありますか? 洞察はありますか?どうもありがとう。