コンパイルする際のエラー、配布元に問い合わせるべきでしょうか?

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
したっぱ

コンパイルする際のエラー、配布元に問い合わせるべきでしょうか?

#1

投稿記事 by したっぱ » 12年前

すみませんが、よろしくお願い致します。
足りない情報等ある場合もご指摘ください。

[1] 質問文

 [1.1] 自分が今行いたい事は何か
 インターネット上で無償配布されているmypresto(http://medals.jp/myPresto/)からDLした、tplgeneというfileをコンパイルして実行ファイルを作りたい。
 
 [1.2] どのように取り組んだか
tplgene.tarを解凍後、マニュアル(http://medals.jp/myPresto/techinfo/tplg ... df、の14page)に従ってmakeを試みました。
 
 [1.3] どのようなエラーやトラブルで困っているか
make実行後いくつかのファイルでエラーが出ました。
1)warning: format string is not a string literal (potentially insecure) が以下の様な部分に4カ所

コード:

warning: format string is not a string literal
      (potentially insecure) [-Wformat-security]
                            fprintf(fp, header);
                                        ^~~~~~

コード:

warning: format string is not a string literal
      (potentially insecure) [-Wformat-security]
        fprintf(fp, remmes.remark_message[remark_counter]);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2)warning: equality comparison with extraneous parentheses が1カ所

コード:

warning: equality comparison with extraneous
      parentheses [-Wparentheses-equality]
                        if((i == 17)) {
                            ~~^~~~~
 [1.4] 今何がわからないのか、知りたいのか
 現在の問題は、自分の環境を改善することで解決することでしょうか?
 それとも、ファイルの配布元に問い合わせるべき問題でしょうか?

[2] 環境
 
 [2.1] OS : Windows, Linux等々
 Mac OS X 10.7.5

 [2.2] コンパイラ名 : VC++ 2008EE, Borand C++, gcc等々
よく分かりません。xcode、Command Line toolsはインストールしました。

[3] その他
 ・どの程度C言語を理解しているか
 今回、初めてプログラムに触れます。
 
 ・ライブラリを使っている場合は何を使っているか
 よく分かりません。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: コンパイルする際のエラー、配布元に問い合わせるべきでしょうか?

#2

投稿記事 by みけCAT » 12年前

したっぱ さんが書きました:make実行後いくつかのファイルでエラーが出ました。
ここに貼ってあるメッセージは、全て警告だけのように見えます。
まず、目的のバイナリが生成されているかを確認してください。
他に致命的なエラーがあるのなら、そのメッセージを貼ってください。
したっぱ さんが書きました:現在の問題は、自分の環境を改善することで解決することでしょうか?
gccでしたら、コンパイルオプションに-wを追加すれば出なくなるかもしれません。
したっぱ さんが書きました:それとも、ファイルの配布元に問い合わせるべき問題でしょうか?
問い合わせるかどうかは、どっちでもいいと思います。
オフトピック
makeが警告だけですむならいい方じゃないか…
私がOpenMPIをmakeしようとした時は、大量のコンパイルエラーが出て、
対症療法でmakeを進めていくと、なんと「未サポートのコンパイラです」というメッセージが!!
未サポートのコンパイラならconfigureで弾けよ、何のためのconfigureだよ…
愚痴失礼しました。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: コンパイルする際のエラー、配布元に問い合わせるべきでしょうか?

#3

投稿記事 by h2so5 » 12年前

どちらのメッセージもエラーではなくて警告です。

1つ目はフォーマット文字列が定数ではないので、何らかの方法でフォーマット文字列を外部の入力から操作できる場合、
意図的なバッファオーバーランなどの潜在的な危険性があるという警告です。

2つ目は余分なカッコがあるという警告です。

どちらも実行する上では問題ありません。
2つ目の警告が気になるなら自分で修正しても構いませんし。

したっぱ

Re: コンパイルする際のエラー、配布元に問い合わせるべきでしょうか?

#4

投稿記事 by したっぱ » 12年前

みけCAT様、h2so5(副管理人)様、ご指摘ありがとうございました。

バイナリファイルが出来ていなかったので、
もう一度ターミナルの画面を見直してみると、
警告とは別に、以下の様なエラーがみつかりました。

コード:

ld: library not found for -lcrt0.o
collect2: ld returned 1 exit status
調べてみると、
mac osでは静的リンクに対応していないので、makefile中の-staticを外せばよい、
ということらしかったので、試してみるとうまくいきました。

身近に相談相手がいないので、大変助かりました。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る