問題タブ [gnu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - すべてのユーザー名の Postfix エイリアス?
ユーザー名に関係なく、postfix がすべてのメールを 1 人のユーザーに送信する /etc/aliases に入れることができるものはありますか?
makefile - 非常に単純な gtk2 c アプリで、gnu ビルド ツールの設定に問題がある
更新:最初の問題は解決され、2 番目の問題はこの投稿の下部に記載されています。
UPDATE2: 2 番目の問題も解決されました。
非常に単純な GTK+2 C アプリケーション用の GNU ビルド ツール (autoconf/automake) のセットアップについて学習しようとしています。このチュートリアルとサブディレクトリを扱うこのチュートリアルに従いましたが、親ディレクトリの Makefile が生成されているにもかかわらず、ソース ディレクトリ (src サブディレクトリ内) が Makefile を生成しないという問題が発生しています。
まず、私のフォルダ構造は次のとおりです。
重要なファイルの内容は次のとおりです。
app/configure.ac:
app/Makefile.am:
app/src/Makefile.am:
次のコマンドを実行すると、次のようになります。
チェックすると、アプリのメイン フォルダーには Makefile と Makefile.in が含まれていますが、src フォルダーには Makefile.am しかありません。何か案は?
更新: adl で言及されている変更を行いました。つまり、AC_CONFIG_FILES コマンドから角かっことコンマを削除し、AM_INIT_AUTOMAKE コマンドからアプリ名/バージョンを削除しました。また、src/Makefile.am の app_LDADD コマンドを app_LDFLAGS に変更しました。これにより、configure を通過できないという最初の問題は修正されましたが、現在は gtk ライブラリを探していません。make を実行すると、次のような結果が得られます。
pkg-config で得られるものは次のとおりです。
src/Makefile.am で何か間違ったことをしていると確信していますが、何が原因かわかりません。それが役立つ場合、私の構成スクリプトは gtk ライブラリを探していないようです。
更新 2:
したがって、update1 の問題の基本的な解決策は、configure.ac ファイルに次のチェックを追加する必要があるようです。
これは、AC_PROG_CC の下のプログラム セクションのチェックに追加されます。これが行うことは、gtk+-2.0 ライブラリをチェックするよう configure に指示することです。大文字の GTK は任意の変数名のようで、CFLAGS、LIBS、および LDFLAGS (およびおそらくそれ以上) が動的に追加されるため、PACKAGE_* 変数を生成できます。AC_SUBST は Makefile.am の PACKAGE* 変数にアクセスできるようにするようです。参考までに、-export-dynamic フラグが追加されて、glade/gtkbuilder ファイルを使用できるようになりました (他にも理由があると思いますが、私はまだ非常に基本的なレベルの理解に留まっています)。
src/Makefile.am には、次のものが必要です。
これは、基本的な gtk+-2.0 C アプリに必要なすべてのようです。autotools を使用する C gtk アプリをセットアップするための簡単なチュートリアルを書くきっかけになりました。この分野では、最近の初心者向けのドキュメント/情報が明らかに不足しています。
firefox - GNUmakeのCygwinバージョンを構築する
私はGNUmakeにいくつかのロギングオプションを追加して、FireFoxとその仲間を構築するときに何が起こっているかを確認できるようにしたいと思います。
私はmake-3.80ソースと完全に機能するCygwinビルド環境を持っています。./configureとMakeIで開始すると、期待どおりに機能する実行可能ファイルが得られます。
質問:Moztoolsにバンドルされているmake.exeと同じ方法で実行可能ファイルを作成するには、どのような構成が必要ですか?
バックグラウンド:
が定義されていない場合HAVE_CYGWIN_SHELL
は、
Mozilla設定スクリプトのこのセクションに到達したらすぐにbarfsを作成します
ありがとう
makefile - 空のターゲットルールは、GNU Makeの.DEFAULT_GOALの実行可能な代替物ですか?
GNU Makeバージョン3.81では、.DEFAULT_GOALという名前の特別な変数が導入されました。この変数を使用して、コマンドラインでターゲットが指定されていない場合にどの目標(またはターゲット)を構築するかをMakeに指示できます。それ以外の場合、Makeは最初に遭遇したターゲットを作成します。
検討:
上記の架空のMakefileを使用make
すると、Makeが最初に遭遇するターゲットであるため、実行すると「バー」が作成されます。しかし、.DEFAULT_GOALを追加すると、次のようになります...
...次に、Make(バージョン3.81)を実行すると、「foo」がビルドされますmake
。
この.DEFAULT_GOAL変数は、私が作成したモジュール式の再利用可能なMakefile「フレームワーク」で非常に役立つことがわかりました。ただし、多くのシステムにはまだGNU Make 3.80以前があり、この変数をサポートしていないことがわかりました。
いろいろ試してみると、空のターゲットルールを指定するだけで、3.81より前のバージョンのGNU Makeでも、.DEFAULT_GOALと同じ効果があるように見えることに気付きました。
この方法で追加のターゲットルールを指定することにより、ターゲットのルールや前提条件に追加することが有効かつ合法であることを私は知っています。ただし、これを行うと、.DEFAULT_GOALを使用した場合には発生しない潜在的に望ましくない副作用が発生する可能性があるのではないかと思います。
単純な空のターゲットルールで同じことを達成できるのに、なぜ.DEFAULT_GOALが導入されたのか疑問に思っていると思います。これは、それらがまったく同じ動作をもたらさない可能性があることを私に疑わせます。
したがって、最終的な質問は次のとおりです。.DEFAULT_GOALを使用する場合と空のターゲットルールを使用する場合の間に、外部から検出可能な違いはありますか?
c++ - macosxでgnu/c getline()を使用してc ++コードをコンパイルしますか?
mac osxleopardマシンで既存のc++パッケージをコンパイルしようとすると、次のエラーが発生します。
これはおそらく、getline()がGNU固有の拡張機能であるためです。
どういうわけか、osxのデフォルトのg ++コンパイラにそのようなGNU固有の拡張機能を認識させることはできますか?
(そうでない場合は、いつでも独自の実装またはGNUの元の実装を提供できますが、可能であれば「よりクリーンな」ソリューションを使用することをお勧めします)
makefile - automake と autoconf をセットアップして条件付きでプログラムをビルドするにはどうすればよいですか (テストなど)
現在、autotoolset プロジェクトには 10 個のテストがあります。src/ ファイルの 1 つに変更を加えて再コンパイルするたびに、各テストが再構築されてリンクされます。これは私の開発時間にかなりの影響を及ぼし始めています。
GNU autotoolset を使用してバイナリ プログラム、テストなどを条件付きでビルドする最良の方法は何ですか? たとえば、test/check_curl_requestheaders.cc で作業していて、変更を加えた場合、ライブラリを再コンパイルしてからその 1 つのテストだけを再コンパイルし、他のバイナリは一切コンパイルしません。
automake 条件 (WANTS_XXX など) を使用することについての言及を見ましたが、それが私が探しているものであるとは 100% 確信が持てませんし、autoconf によってどのように設定されるかもわかりません。
私は、次のような結果になることを期待しています。
また
ポインタ?
編集私はすべてのメイクの前に構成を行っていません。に変更を加えると、期待どおりcheck_curl_requestheaders
にのみが再構築されます。check_curl_requestheaders
問題は、ライブラリの RequestHeaders 部分に取り組んでいて、src/curl/requestheaders.cc のように変更すると、check_curl_requestheaders
. それには時間がかかりすぎます。それは私が避けようとしていることです。多数のバイナリがある場合、そのうちの 1 つだけを再構築する方法はありますか?
makefile - define を使用して作成された GNU make マクロを呼び出すにはどうすればよいですか?
Makefile で GREP を呼び出す 2 つの方法に違いはありますか? どちらかを使用する必要がある理由はありますか? どちらも同じ結果になるようです。
c++ - gprof でテンプレート化されたメソッドのコール グラフを表示するパラメータの形式は?
gprof を使用してテンプレート化されたクラスのメソッドの関数呼び出しグラフを表示するコマンド ライン形式は何ですか?
単純な C メソッドの場合、次のように指定します。
parse
メソッドは次のうちどのように指定しますか。
c++ - GNU C++ コンパイラをダウンロードする場所
UbuntuやNetbeans IDEを搭載したWindows、およびGNUツールで使用できるGNU c ++コンパイラをダウンロードする場所を誰かに提案してもらえますか。