問題タブ [cflags]
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.
makefile - makefile 内のモジュールの CFLAGS バリエーション
私は大規模なファームウェアに取り組んでおり、GNU gprof をその一部のモジュール (ファイル ディレクトリ) にのみ追加する必要があります。メイクファイルの構造は継承されています。だから私はこのようにします:
しかし、これにより CFLAGS が上書きされ、すべてのモジュールに gprof が追加されるという警告が表示されます。私の推測では、CFLAG はどこかで一般的です。必要なモジュール (ディレクトリ) の部分でのみ CFLAG が機能することを確認するにはどうすればよいですか?
c++ - mkoctfile のエラー
Linux 14.04 の octave4.0 で次のようにコンパイルしようとしています。
mex CFLAGS="\$CFLAGS -std=c99" -largeArrayDims read_data.cpp
mex CFLAGS="\$CFLAGS -std=c99" -largeArrayDims write_data.cpp
次のエラーが発生します。
****mkoctfile: 認識されない引数 CFLAGS=-std=c99**
**警告: mkoctfile は失敗ステータスで終了しました****
これが何を意味し、これを修正する方法を知っている人はいますか?
makefile - autotools configure からコンパイラ/リンカー フラグを削除します
でビルドできるプロジェクト(C用のAntlr3)があります./configure && make && make install
。
コンパイル コマンドで使用されるフラグの 1 つに-Wl,-soname -Wl,libantlr3c.so
. コマンド全体は次のとおりです。
-Wl,-soname -Wl,libantlr3c.so
その部分だけを取り除くにはどうすればよいですか?
CFLAGS
コンパイラとリンカーのフラグは、LDFLAGS
configure コマンドでオーバーライドできることを理解しています。このリンクによると、それは次のようなものです
環境変数として使用できる/使用する必要があることは理解していますが、次のようなものです
ただし、これらの使用はすべてのorをオーバーライドしようとすると思います。フラグを除外したいだけです(これは、コンパイラがフラグをリンカーに渡すことを意味します。CFLAGS
LDFLAGS
-soname
-Wl,
LDFLAGS=-soname=
またはのようなものCFLAGS="-Wl,soname -Wl,"
、およびそれらのバリエーションを使用した私の試みは、これまでのところ成功していません。
この質問から、Makefile 内からフラグを削除できたかのように見えますが、コマンドを使用してコマンド ラインからフラグをオーバーライドすることに適用できるとは思えませんconfigure
。これらの変数をmake
コマンドの代わりにコマンドに提供することも可能ですconfigure
が、それも成功しませんでした。
コマンドから生成されるため、Makefile を変更しても意味がないことに注意してくださいconfigure
。
android - Android Studio NDK Gradle の場合、ファイルごとに異なる cFlags を設定するにはどうすればよいですか?
最新バージョンの Android スタジオ (2.2.2) を使用して C/C++ ライブラリを作成しようとしています。
コード ファイルごとに異なるコンパイル オプションを指定するにはどうすればよいですか?
ライブラリ内の .cpp コードの一部は STL を使用しており、正常にコンパイルするには "-std=gnu++11" が必要です。
私のライブラリの一部のコードは .c ファイルを使用しており、「-std=gnu++11」が指定されている場合、このエラーが生成されます。
エラー: 無効な引数 '-std=gnu++11' は 'C/ObjC' では許可されていません
私は現在 build.gradle スクリプトを使用してコンパイルしていますが、同じことを達成するために誰かが CMake スクリプトをセットアップするのを手伝ってくれるなら、CMake を使用することにもオープンです。
.cpp ファイルのみのコンパイル フラグを指定するために、cFlags ではなく cppFlags を指定する他の回答を見ました。この NDK オプションは、最新バージョンの Android Studio にはないようです。使用しようとすると、次のエラーが発生します。
タイプ com.android.build.gradle.internal.dsl.NdkOptions のオブジェクトの不明なプロパティ 'cppFlags' を取得できませんでした。
ご協力いただきありがとうございます!