- PR -

netsupp.h とKDE周りのインストール?

1
投稿者投稿内容
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2006-04-30 20:26
お疲れ様です、kamiです。

現在、Linux C++ で開発を行っております。
他社より参考ソースを頂き、拡張する作業を行っております。

参考ソースを実行する際に、addrinfo構造体が宣言されていないエラーが発生し、
addrinfo と、 getaddrinfo などについて調べています。

この構造体はすでに使う事が決まっており、変更が出来ない状況です。

この構造体はnetsupp.hというヘッダーに定義されている事はわかりましたが、
ネット上からいざダウンロードして、組み込む?(該当フォルダに解凍)と読み込み宣言(include)を行うとさらに別のエラーがでます。
netsupp.hがさらに(こちらが)用意していない別のファイルを読み込もうとしているようです。

また、このnetsupp.hはKDEライブラリーに含まれているようなのでが、ネット上でさがしてもnetsupp.hの単体でのダウンロードしか見つけることができませんでした。

今回、Linux C++は初めての機会で戸惑っているのですが、指定したファイルをインクルードしたい際に、必要なライブラリーを一括で入れる方法はあるのでしょうか?

できましたら、netsupp.hについてお聞きしたいです。

以上、宜しくご指導お願い致します。
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2006-05-08 22:12
こんにちは、kamiです。

前回の投稿以来、参考サイトを右往左往しています。

addrinfo構造体、getaddrinfo関数周りについて。

参考サイトのソースを拝見すると、netsupp.hを使用していませんが、netsupp.hに構造体が定義されているというサイトもあります。
参考サイトのソースですと、socket.h、netdb.hをincludeしているだけで、使用できるようです。
実際に、自分で動かしていない為確実ではありませんが、複数のサイトでsocket.h、netdb.hのみがincludeされています。

この点を踏まえて考えた所、netsupp.hは必要なく、socket.h、netdb.hのみと思いますが、当方の環境ではやはりエラーとなってしまいます。
(未定義エラー)

当方の環境
RHEL3
gcc (ヴァージョンは未確認です)

ソケット周りの知識を拝聴できればと思います。
どうか、よろしくお願いいたします。
Haya
常連さん
会議室デビュー日: 2003/03/28
投稿数: 22
お住まい・勤務地: 関東
投稿日時: 2006-05-09 00:52
こんばんは。

差し支えなければ、エラーメッセージをそのまま載せていただけると
回答がつきやすくなるかもしれません。

確かにnetsupp.h中にもaddrinfo 構造体は定義されていますが、
実際のソースを見ると、当該構造体が未定義の場合にのみ定義されるものです。

通常は「sys/socket.h」と「netdb.h」が普通にincludeできるかと思いますので、
KDEなアプリでもない限り使う機会はないのではないかと思います。

ただgetaddrinfo()を使いたいだけなら、
manを見てみると、「sys/socket.h」と「netdb.h」をincludeしてあれば使えるはずです。

手元にRHEL3がないので何のと、エラーメッセージの詳細が分からないので何とも言えませんが、
とりあえずそのファイルが存在することと権限等を確認してみるとか……。
(おそらく/usr/include/配下にあるかと思います)
もし存在しなければ必要なパッケージが入っていないとかだとおもいます。

# と茶々入れてみます
kami
ベテラン
会議室デビュー日: 2004/08/21
投稿数: 95
お住まい・勤務地: 大手町
投稿日時: 2006-06-09 14:47
大変遅くなりました、kamiです。

解決しましたので、報告致します。

実機はRHEL3.0 でしが、開発段階の為、Winにシグゥイン+エクリプスを入れての開発となっておりました。
このため、探していたヘッダーがシグゥイン上には存在せず、エラーとなっておりました。

実機の方にソースを送りテストをしたところ、すんなりと通りました。
なお、ヘッダーがなく構造体が使えないというのは、コンパイルエラーだった為、実機でのテストを行う事をためらっていた為です。

結果として、シグゥイン上でコンパイルする際にはヘッダーが存在するか確認しましょう。という事になりました。

Haya様、お手数をおかけし、尚且つ返信がカメで失礼致しました。

以上です。
1

スキルアップ/キャリアアップ(JOB@IT)