←検索窓の楽しみ方
  ショッピングモール  掲示板ランキング


【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※返信付き投稿の削除は禁止!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら


 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板1こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.4058

アメダスデータ
投稿者---manbou(2005/06/22 16:03:02)



# include <stdio.h>
# include <stdlib.h>
# include <string.h>

# include "rapFile.h"


int
main( int argc, char *argv[] )
{
RAPF *rapf;
char *fileName;
int xx, yy, hour;

/* RAP ファイル名の指定 */

fileName = "E:\\Data\\2004\\a\\J2004a18.rap"; /* DOS */

if( argc > 1 )
fileName = argv[1];

hour = 0; /* 時刻 0〜23 (1〜24時に対応) */

if( rapfOpen( fileName, &rapf ) ) /* ファイルをオープン */
return 1;

printf( "%d/%2d/%2d %02d:%02d (%d)",
rapf->timeElems[hour].year,
rapf->timeElems[hour].month,
rapf->timeElems[hour].day,
rapf->timeElems[hour].hour,
rapf->timeElems[hour].minute,
rapf->timeElems[hour].elem );
printf( " %dx%d %fE+%g %fN-%g\n",
rapf->grid.nsize_x,
rapf->grid.nsize_y,
(double)rapf->grid.origin_lon / 1000000,
(double)rapf->grid.dsize_x / 1000000,
(double)rapf->grid.origin_lat / 1000000,
(double)rapf->grid.dsize_y / 1000000);

rapfGet( rapf, hour ); /* 読んで展開する */

for( yy = 0 ; yy < rapf->grid.nsize_y ; yy += rapf->grid.nsize_y/20 ) {
for( xx = 0 ; xx < rapf->grid.nsize_x ; xx += rapf->grid.nsize_x/70 ){
int rr = rapf->gpv[yy * rapf->grid.nsize_x + xx];
if( rr < 0 ) putchar( '.' );
else if( rr < 2 ) putchar( '-' );
else if( rr < 10 ) putchar( '=' );
else if( rr < 30 ) putchar( '+' );
else putchar( '*' );
}
putchar( '\n' );
}
printf( "AMeDAS:%d Radar:", rapf->nAMeDAS );
for( xx = 0 ; xx < 8 ; xx++ ) {
unsigned char uc = rapf->radar[xx];
printf( "%d%d%d%d",
(uc & 0xC0) >> 6, (uc & 0x30) >> 4,
(uc & 0x0C) >> 2, uc & 3 );
}
putchar( '\n' );

rapfClose( rapf ); /* ファイルのクローズとメモリの解放 */
return 0;
}
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
コンパイルしようとすると
Error: 外部シンボル '_rapfOpen' が未解決
Error: 外部シンボル '_rapfGet' が未解決
Error: 外部シンボル '_rapfClose' が未解決
とでてきます。
どうにもお手上げで・・・
どなたか良きアドバイスをいただけないでしょうか?


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:アメダスデータ 4059 まきじ 2005/06/22 16:11:11
<子記事> Re:アメダスデータ 4065 nop 2005/06/22 17:13:29


No.4059

Re:アメダスデータ
投稿者---まきじ(2005/06/22 16:11:11)


ソースは、インデントもして、HTML形式に
変換して投稿してください。

>Error: 外部シンボル '_rapfOpen' が未解決
>Error: 外部シンボル '_rapfGet' が未解決
>Error: 外部シンボル '_rapfClose' が未解決

それぞれの関数が定義されていないのでは?


この投稿にコメントする

削除パスワード

No.4060

Re:アメダスデータ
投稿者---manbou(2005/06/22 16:45:45)


先ほどはすいません。
rapFile.hというのが先のエラーの関数を定義していると
思われるのですが
いかが思われますか?


/* 関数プロトタイプ宣言 */

int  rapfOpen( char *fileName, RAPF **rapf ); /* open */
void rapfClose( RAPF *rapf );                 /* close */
int  rapfGet( RAPF *rapf, int no );           /* 展開まで行う */

int  rapfGet_noUnComp( RAPF *rapf, int no );  /* 展開はしない */
int  rapfUnComp( RAPF *rapf );                /* 圧縮データの展開 */


# endif




この投稿にコメントする

削除パスワード

No.4061

Re:アメダスデータ
投稿者---まきじ(2005/06/22 16:50:12)


>/* 関数プロトタイプ宣言 */
>int rapfOpen( char *fileName, RAPF **rapf ); /* open */
>void rapfClose( RAPF *rapf ); /* close */
>int rapfGet( RAPF *rapf, int no ); /* 展開まで行う */
>int rapfGet_noUnComp( RAPF *rapf, int no ); /* 展開はしない */
>int rapfUnComp( RAPF *rapf ); /* 圧縮データの展開

は、ご自分でも書かれている様に、宣言だけです。
肝心な、関数の動作の定義は?


この投稿にコメントする

削除パスワード

No.4064

Re:アメダスデータ
投稿者---Blue(2005/06/22 16:57:48)


>rapFile.hというのが先のエラーの関数を定義していると
>思われるのですが
>いかが思われますか?
関数の宣言はrapFile.hでしてあると思えますが、
その関数の実体(定義と呼ぶもの)はどこかにあるのでしょうか?
ソースやdllなどでリンクが取れるようになっていますか?

宣言と定義は違います。


宣言だけしてもその関数が実際ナニをするのかわからなければ
コンパイルできないのも当然です。



この投稿にコメントする

削除パスワード

No.4066

Re:アメダスデータ
投稿者---shu(2005/06/22 22:21:56)


>rapFile.hというのが先のエラーの関数を定義していると
>思われるのですが
>いかが思われますか?

rapFile.cというファイルがあると仮定しての話。

rapFile.cというファイルはありませんか?
あるのなら、そのファイルもコンパイルしてみてください。
恐らく、rapFile.cをコンパイルした結果を、
rapFile.hで呼び出そうとしているのでしょう。

rapFile.cがコンパイルされてい状態で、
いくらrapFile.hから、rapfOpen()などの関数を呼び出そうとしても、
実態がないので、エラーがでるのです。


この投稿にコメントする

削除パスワード

No.4065

Re:アメダスデータ
投稿者---nop(2005/06/22 17:13:29)


>コンパイルしようとすると
>Error: 外部シンボル '_rapfOpen' が未解決
>Error: 外部シンボル '_rapfGet' が未解決
>Error: 外部シンボル '_rapfClose' が未解決
>とでてきます。

単にライブラリをリンクしていないだけじゃないか?
と、小一時間(ry


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧




掲示板提供:Real Integrity