C言語のコンパイルと実行ファイル作成について
Cで人が書いたプログラムを修正しています。
IDEではなくLinux環境でのコード修正が初めてで、デバックでのバグ潰しや実行ファイル生成がうまく行かず困ってます。
warningをきちんと治したいというのと、gdbの起動がうまくいかない、という2点です。
あるディレクトリに保存された、ABCという文字を含んだサブディレクトリに対して処理を行うプログラムです。
まず1つめ、warningの修正について教えてください。
test=opendir(buff); //DIR変数ポインタ *test にパスを代入して、
//そのパスにABCという文字が含まれていたら以下を実行、というところ
if(test==NULL&&errno!=){
check=strchr(test,"ABC"); //checkはchar型ポインタです。ここでincomparableな変数だというwarningが出ます。
DIRポインタで取得したパス名をstrchrで比較することはできないのでしょうか。char変数mojiを追加しcheckもchar型に変更して
moji = test
check=strchr(moji,"ABC")
としてみましたがNGでした。
このwarningは単に警告なのでとりあえず実行ファイルを作ってデバックしてみたら、と言われ a.outファイルを生成しました。デバッカgdbを起動したところで、2つ目の疑問が発生しました。
gdb 対象ファイル名.c
(gdb) break main //と打つと、ここで
No symbol table is loaded. Use the "file" command. //と表示されます。
これは、どう対処したらいいのでしょうか?
調べてあれこれ対応してみたのですがどうにも対処できず困っています。
ぜひ教えていただけると助かります。
宜しくお願い致します。