質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

16377閲覧

コンパイルエラー?について

infrataro

総合スコア173

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/12/01 09:16

編集2015/12/01 09:24

お世話になります。

MariaDBをソースからビルド、RPMパッケージを作成しようと
cmake,makeしたのですがパッケージファイル作成時に下記の警告メッセージが出力されます。
(下記の警告メッセージは各々独立しています)

  1. 警告: ‘xxx’ may be used uninitialized in this function
  2. 警告: ‘xxx’ defined but not used
  3. 警告: dereferencing type-punned pointer will break strict-aliasing rules
  4. 警告: type-punning to incomplete type might break strict-aliasing rules
  5. 警告: dereferencing pointer ‘xxx’ does break strict-aliasing rules
  6. 警告: null argument where non-null required (argument 1)
  7. 警告: passing ‘xx’ for argument x to ‘xx’
  8. 警告: converting to ‘zzz’ from ‘xxx’
  9. 警告: ‘xxx’ is used uninitialized in this function
  10. 警告: invalid access to non-static data member ‘xxx’ of NULL object
  11. 警告: (perhaps the ‘offsetof’ macro was used incorrectly)
  12. warning: the use of ‘mktemp‘ is dangerous, better use ‘mkstemp‘
  13. 警告: command line option "xxx" is valid for C/ObjC but not for C++

出力したエラーは見ればわかるような警告も記載しておりますが
警告メッセージについての下記をご教示願えますでしょうか
・詳細(ソースに関係なく一般的な)
・原因(ソースに関係なく一般的な)
・対応(ソースに関係なく一般的な)

以上です。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

コンパイル・エラーの意味はまずはマニュアル等で調べた方が良いと思います。
それでも分からないものに絞って尋ねた方がよいですよ。
マニュアルに載っているようなことを改めて書くってかなり虚しいですから。

オープン・ソースをビルドした時のエラーなら、エラー・メッセージそのままでググると、同じ問題で悩んだ人の相談にあたることも結構多いです。
まずは頑張ってご自分で調べてみませんか?

後、xxxでマスクしてますが、オープン・ソースならマスクしない方が情報を得やすいと思います。

投稿2015/12/01 10:07

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

infrataro

2015/12/01 11:00

ご確認ありがとうございます。 make packageにてパッケージ化している場合は以下のマニュアルを...っという感じでしょうか。 https://www.gnu.org/software/make/manual/ マスクしている個所に関しては複数出ているため、まとめるためにマスクしております。 >まずは頑張ってご自分で調べてみませんか? プログラミングの経験が無いもので自分自身で確認した内容と 頂いた回答を照らし合わせてもらおうと思いましたが甘かったですね。 失礼いたしました。
Chironian

2015/12/01 12:15 編集

出ているエラーはコンパイル・エラーなのでコンパイラのマニュアルを確認すると良いです。 gmakeを使っているということはコンパイラはgccですね? 私もMinGW(gccのWindows版)を使っているのですが、警告の書式が異なるので私の知らないコンパイラかと思ってました。 gccのマニュアルは下記にあるのですが、警告メッセージの解説は見つけられませんでした。 https://gcc.gnu.org/onlinedocs/ そういえば、私もMinGWのエラーメッセージを調べる時探したのですが、その時も解説リストを見つけることができず、結局、メッセージを読んで判ればOK、判らなければググッてました。(もっと良い方法があるかも。) でも、sekitaka_1214さんの回答へコメントされているように、気になっているだけで実害があるわけでないのなら、諦めるのも選択肢の一つと思います。 逆に、もし、テストが付属しているようでしたら、テストまで走らせてPASSすることを確認するのも選択肢の一つと思います。たぶん、これができうる最大限と思います。 circle2netさんが必要とする信頼性に応じてどうするか決めるとよいと思います。 > プログラミングの経験が無いもので自分自身で確認した内容と > 頂いた回答を照らし合わせてもらおうと思いましたが甘かったですね。 ですね。 今回ご質問された警告メッセージ13個の詳細・原因・対応を書く場合、どれぐらいの分量になると予想されますか? circle2netさんは、無償でそれだけの量の文章を書くことを想像されるとご理解頂けるだろうと思います。
infrataro

2015/12/02 03:45

>気になっているだけで実害があるわけでないのなら、諦めるのも選択肢の一つと思います。 ご回答ありがとうございます。あきらめることを選択肢にいれて進めてまいります。 また質問内容についてのご指摘もありがとうございました。 以降このような質問は控えさせていただきます。
Chironian

2015/12/02 03:53

苦言を言ってしまって申し訳ないかったです。 これに懲りず、ちょっとだけご配慮頂いて遠慮無く質問下さいね。
usergoogle

2019/01/05 07:25

自分で調べることをすすめるなんて質問板のあり方に反している。
guest

0

ベストアンサー

コンパイルは正常にできてrpmもできるけど、警告がでるのが気持ち悪いから原因を知りたいということでしょうか。

‘xxx’ may be used uninitialized in this function
→変数xxxが初期化されずに使用されている

'xxx' 以降のメッセージでググると原因や、詳細な解説などを見つけることができますよ

投稿2015/12/01 10:52

sekitaka_1214

総合スコア509

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

infrataro

2015/12/01 11:02

ご確認ありがとうございます。 >コンパイルは正常にできてrpmもできるけど、警告がでるのが気持ち悪いから原因を知りたいということでしょうか。 おっしゃる通りです。 コンパイルに関して知識量が少ないため警告が出て無視していいものなのか、 それとも対応しないといけないのかわかりかねているのが現状です。
sekitaka_1214

2015/12/01 11:07

なるほど、オープンソースのコードは警告レベルのメッセージがでることはありますよね。 c系の警告だと思います。 対応するとなるとソースを修正することになるので、私は警告に関してはあまり気にしなくなっています。 (あまり良くないと思いますが、時間との兼ね合いもありますし、自分で修正するほうがリスキーなので) 他の回答者さんの意見も知りたいですね。
Chironian

2015/12/01 12:25

> (あまり良くないと思いますが、時間との兼ね合いもありますし、自分で修正するほうがリスキーなので) > 他の回答者さんの意見も知りたいですね。 私もです。 まさに自分で修正する方がリスキーなので、実害がでてない時は諦めてます。 実行時に落ちるエラーがでた時、追跡したことありますよ。問題箇所までは分かったけど修正方法は皆目判らず、追跡した結果を元にググッてやっとバグ報告にたどり着き、解決策が公開されていたことがあります。 もっと英語をスラスラ読めれば、最初からバグリストを当たっていた方が早かった筈。orz 理想はテストまで走らせれば、安心かなって思ってます。まだサボってますが...
infrataro

2015/12/02 03:41

>対応するとなるとソースを修正することになるので、私は警告に関してはあまり気にしなくなっています。 >(あまり良くないと思いますが、時間との兼ね合いもありますし、自分で修正するほうがリスキーなので) なるほど。そこは割り切ってしまうしかないのですね。 勉強させていただきました。ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問