問題タブ [c-libraries]
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.
c++ - makefile を使用した C++ コードでの C ライブラリの使用
cluster.h と cluster.c で作成された C ライブラリがあります。でコンパイルしましたgcc -c cluster.c
。
C++ プロジェクトのメイン クラスでこのライブラリのメソッドを使用する必要があります。これは私が使用するmakefileです:
他のインポートの後に使用して、main.cpp に C ライブラリをインポートしようとしました。
しかし、私がコンパイルすると、make
この応答があります:
main.cpp:29:21: fatal error: cluster.h: No such file or directory
#include <cluster.h>
^
compilation terminated.
make: *** [main.o] Error 1
代わりに「cluster.h」を使用すると、次のエラーが発生します。
main.o:main.cpp:(.text+0xf68): riferimento non definito a "kmedoids"
main.o:main.cpp:(.text+0xf68): rilocazione adattata per troncamento: R_X86_64_PC32 contro il simbolo non definito "kmedoids"
/usr/bin/ld: main.o: bad reloc address 0x18 in section
.xdata' collect2: エラー: ld が 1 の終了ステータスを返しました make: * [abundancebin] エラー 1`
また、必要なコード部分を C ライブラリから C++ プロジェクトにコピーしようとしましたが、コンパイラは次のような多くのエラーを報告します。
error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
vector = malloc(nnodes*sizeof(int));
ライブラリ ファイルは、プロジェクト ファイルと同じフォルダーにあります。誰か助けてくれませんか?ありがとうございました
c - カスタム C ライブラリのヘッダー ファイルを自動生成
file に LinkedList の簡単な実装がありますlist
。そこからライブラリをクレートするために、私はcmakeを使用しています.CMakelists.txtは次のようになります:
すべて正常に動作します。しかし、今では私のライブラリを他のプログラムで使用するようになりました。
私の知る限り、listShared.h
このライブラリを自分のプログラムで使用しlistStatic.h
、静的ライブラリに使用する必要があります。
CMake でヘッダー ファイルを自動的に生成する方法はあります#include
か? そのライブラリを他のプログラムで使用できますか?
それとも、それがどのように機能するのか理解していないだけですか?
c - c -lz ライブラリのリンク順 (シンボル "inflateInit2_" への参照が未定義)
CodeBlocks のライブラリをこの順序でリンクします。
それでもエラーが発生しました:
ライブラリのリンク順序の問題でしょうか? -lz はどこに置くべきですか?
c - root アクセスなしでインストールされた C ライブラリを確認するには?
root アクセス権がない制限された環境 (archlinux) で学校のプロジェクトに取り組んでいます。件名は、すでにインストールされているすべてのライブラリを使用することが許可されていると言っています。gcc を使用して C でコーディングしています。
これらすべてのライブラリのリストを取得するにはどうすればよいですか?
postgresql - Postgres C ライブラリが libpg ではなく libpq と呼ばれるのはなぜですか?
Postgres の世界ではすべて共通の略語pg
があり、Postgres のc-library libpg
を .ではなくlibpq
. なぜそれが呼ばれるのlibpq
ですか?libpg
すでに別のツールに使用されていますか?
c - Cで時刻と日付の文字列値からミリ秒の差を取得する
変数に別々に 2 つの日付と時刻の文字列があります。これら 2 つの日付と時刻の値の差をミリ秒単位で計算する必要があります。C でそれを取得する方法。このソリューションは、プラットフォーム間 (少なくとも Windows と UNIX) で機能するはずです。
まず、これを時間構造に保存してから、2 つの時間構造を比較して違いを得る必要があります。これを行うために C ライブラリで利用できる時間構造は何ですか。
c - ライブラリを C で使用できない
私は OS X マシンを使用しており、将来のプログラムで使用するライブラリを C で作成しました。
これは宣言です: (FunzioniListe.h)
これが実装です: (FunzioniListe.c)
問題は、このライブラリを別のプロジェクトで使用しようとすると、次の出力が得られることです。
これは、作成済みのライブラリを利用する単純なプログラムです。
何が問題なのかわかりません。両方のファイルは正しいのですが、私の Mac はこれを正しくコンパイルできません。これが起こっている理由は何ですか?
詳細呼び出しエラー:
c - なぜ誰かが __STDC_VERSION__ にゼロを追加するのでしょうか?
を調べてみるとstdarg.h
、次のことがわかりました。
式に 0 を追加する目的はありますか?