問題タブ [libm]
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.
math - 数学ライブラリの最適化 (libm)
Linux x68_64ディストリビューションにデフォルトで付属するバージョンよりもパフォーマンスが向上するかどうかを確認するために、コンパイルglibc
を試みた人はいますか? -march=corei7
GCC は でコンパイルされ-march=i686
ます。数学ライブラリも同じようにコンパイルされていると思います (確かではありません)。誰でもこれを確認できますか?
c++ - libm を使用する場合、すべてへの未定義の参照
C++ で標準の数学関数を使用するプログラムがあります。私の Mac では、-lm を使用しなくても、clang を使用して問題なくリンクできます。ただし、Ubuntuでは、clangも使用して、コマンドラインに-lmを追加した後、すべてへの未定義の参照を取得します。私は文字通りすべてを意味します。
私の Makefile は次のようになります。
c++ - 未定義参照のコンパイル OpenFP
Ubuntu 14.04 を使用しています。このプロジェクトOpenFPをコンパイルしようとしています。問題は、「configure」シェルを実行し、「make」を使用してコンパイルした後、次のエラーが表示されることです。
/usr/bin/ld: openfp_extract-fft.o: シンボル 'cos@@GLIBC_2.2.5' への未定義の参照 //lib/x86_64-linux-gnu/libm.so.6: シンボルの追加エラー: コマンド ラインに DSO がありませんcollect2: エラー: ld が 1 終了ステータスを返しました make[1]: *** [openfp_extract] エラー 1 make[1]: ディレクトリ `/home/murtaza/Desktop/openfp-1.3.2' を離れています make: *** [all ] エラー 2
私が考える問題は、コンパイラが「libm」に暗黙的にリンクできないことですが、それを機能させるために -lm を追加する場所が本当にわかりません。「makefile.am」のさまざまな場所で試しました。しかし、構成後は毎回同じ結果が得られます。どんな助けでも大歓迎です。
hyperlink - libm を emscripten ポートにリンクするにはどうすればよいですか
emscripten を使用して、必要な C コードを移植しようとしていますlibm
。通常、それは私のシステムのバージョンを使用し、リンクについて心配する必要はありませんが、手動で emscripten とリンクする必要があります。
どうすればリンクできlibm
ますか?
を使用してみましopenlibm
たがmake
、emcc
(emscripten コンパイラ) を使用すると、openlibm
まだシステム ヘッダーに依存しているため、すべての依存関係を見つけることができません。
GNUlibc
ソースも使用してみましたが、それらをナビゲートできませんMakefile
。
必要なのは、コンパイラでフラグemcc
を使用して JavaScript にコンパイルするときにリンクする、によって生成されたビットコードです。-lm
android - 実行時にシンボル 'floor' が見つかりません
Linux を BUILD システムとして使用し、Google の android-ndk をツールチェーンとして使用し、最終的に次のコマンドを実行するカスタム スクリプトを使用して、Android 用の http Mongoose サーバーをクロスコンパイルしました。
スクリプトはエラーなく正常に動作し、最終的な「サーバー」elf 実行可能ファイルが作成されます。私が今抱えている問題は、Androidで起動しようとするときです。"floor" のような数学記号 (libm で定義) が見つからないと文句を言います。それらがコンパイル時に見つかるのに実行時に見つからない理由がよくわかりませんが、Android のクロスコンパイルと次に説明するコンパイルのセットアップについて疑問があります。
クロスコンパイルするために選択したいくつかのオプション/フラグは、すべての (数千の) gcc オプションを完全に理解していないため、任意であり、さまざまなフォーラムで人々が提案するものを選択しました。特に -mfloat-abi=softfp、-mfpu=neon、および -mvectorize-with-neon-quad
また、システムにインストールされている最新の platform/android-19 も任意に選択しました。Android-「N」バージョンの違いと、どちらかを選択することの意味は正確にはわかりません(最新のものを選択する方が安全ですか、最も古いものを選択する方が安全ですか?または、それぞれに異なるものを選択する必要があります別のデバイス/ターゲット?)
また、任意に gcc-4.6 arm-linux-androideabi-gcc ビルドを選択しました。android-ndk には gcc-4.8 もインストールされています。好みはありますか、それとも最終的なターゲットに依存しますか? (あるいは関係ないかもしれません)
ヘルプ、ヒント、またはリンクを事前にありがとうございます!
c - Microsoft Visual Studio 2010 で libm ライブラリをリンクする方法
Microsoft Visual Studio 2010 で libm math ライブラリをリンクする方法を教えてください。
acプログラムで三角関数を使用するには?
android-ndk - Android で NDK でコンパイルされたネイティブ アプリケーションの実行中にエラーが発生しました。「log2」が見つかりません (エミュレーターでは正常に動作します)
コンパイル/リンク段階で Android-NDK を使用してバイナリを (クロス) コンパイルしましたが、エラーは発生しませんでした。アプリケーションは静的にリンクされています。
Nesux7 エミュレーターを使用して実行します。
「OK」で動作し、正しい出力を出力します。
次に、最終的な apk を作成し、実際の電話にインストールします。実行に失敗します。アプリのデバッグ:
次のエラーが発生します:
別の投稿 ( NDK: libm static linking ) で、誰かが libm.a と libm.so の違いについて不平を言っていますが、とにかく、私のエミュレーターで動作するので、コンパイルは「まあまあ」だと思います。
私はこの時点で完全に立ち往生しています。何か案が?
c - Sqrt 関数が機能しない
そこで、二次式を計算するプログラムを作成しようとしていますが、コードをコンパイルしようとすると、「未定義の sqrt への参照」というエラーが表示されます。コード。コードを添付しました