問題タブ [libconfig]
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 - 関数から返された const char* を C の const char** に正しく変換するにはどうすればよいですか?
要するに、私はこれをしたいと思います:
ただし、右辺値に & を使用できないことは理解しています。だから私はこれにこだわっています:
2行で生活できます。このハックで問題が発生していますか? stringPtr宣言されている関数から抜け出すことを恐れる必要はありませんよね?
編集: もともと完全なコンテキストを含めていなかったことをお詫びします。私は、グラフィックに OpenGL を使用して C でゼロからビデオ ゲームを構築するという夏のプロジェクトを引き受けました。libconfigを使用して、テキスト ファイルから構成データを読み取っています。
構成ファイルから特定の文字列を見つけるための便利な関数の 1 つは、次のようになります。
その値が割り当てられる方法は、関数valueに uninitialized を指定すると、未定義のガベージを逆参照しようとすることを意味します。これにより、ほとんどの場合、segfault が発生します。この問題に対する私の現在の回避策はvalue、次のように、最初に別のポインターに初期化することです。
そのため、この 2 段階の初期化を実行する必要がないように、関数の最後の部分を書き直す最善の方法を見つけようとしています。変更された関数は次のようになると考えていました。
c++ - Qt (C++) でサードパーティ ライブラリ (libconfig) を使用する
サードパーティ ライブラリ (libconfig++) を Qt で動作させるのに問題があります。
Qt でコンパイルすると、次のようなエラー メッセージが表示されます。
等
私の .pro ファイルには、次のものがあります。
そして、libconfig++.dll と libconfig++.lib を正しいフォルダーに追加しました。
このプロジェクトは別のサードパーティ ライブラリを (同様の方法で) うまく使用しているため、構文やインクルードの問題ではないと思います。
C++ の名前マングリングの問題であると思われますか? どうすればこれを確認できますか?
現在、VS 2008 でライブラリをビルドしています (動的ライブラリと静的ライブラリの両方としてビルドしようとしましたが、どちらも機能しません)。過去に他のライブラリでこれを行うことができたと思います。私が正しく設定していないVSにいくつかのフラグがありますか?
ありがとう
c++ - c ++ libconfig解析エラー?
c++コードのlibconfigライブラリを利用してデータを読み込もうとしています。外部ファイルから読み込もうとしているビットマスクバイナリ値があります。問題は、データを読み込んだときに、libconfigが整数を基数2の数値ではなく、基数10の数値として解釈または解析しているため、値に影響を与えていると考えていることです。libconfig FAQを調べたところ、16進表現が「0x」であることが示されていますが、バイナリでは何も示されていません(「0b」プレフィックスは機能しません)。
誰もが回避策を知っています。私はこれらのビットマスクをたくさん持っており、すべての2進数を10進数のカウンターパートに変換するのは非常に面倒です。
libconfigファイルの例:
ビットマスク=00000000001000000010010100001101;
c++ - libconfig :: Config :: Config()へのlibconfig未定義の参照
私はゲームエンジンを構築しようとしていますが、すべての構成ニーズを処理するためにlibconfigを使用しました。libconfigによって解析された構成ファイルを使用して画像やサウンドなどをロードするアセットマネージャーを構築中です。
プロジェクトをコンパイルしようとすると、問題が発生します。これは、エラーの原因となっているコードの領域です。
これはエラーです:
最初にlibconfigを使おうとしたとき、システムのパッケージマネージャーを使用してパッケージをダウンロードしました(apt-get、Ubuntu 11.10を使用しています)。それがうまくいかなかったので、プロジェクトのホームページからライブラリをダウンロードしてインストールしてみました。同じエラー。
参考までに、makeがコンパイルに使用しようとしている行は次のとおりです(これはコンパイルの最終段階です。すべてをリンクしてメインの実行可能ファイルを作成します)。
g++ -g -O2 -Wall -Isrc/engine/include -Isrc/engine/include/render -Isrc/engine/include/logic -I/usr/include -DVERSION=\"0.1\" -DPROG="\"Program Name\"" -I/usr/include/SDL -D_GNU_SORCE=1 -D_REENTRANT -L/usr/lib -lSDL -lSDL_image -lconfig++ -o programm main.o Engine.o AssetManager.o RenderEngine.o Log.o
私はこれを理解しようとして、ここ数時間壁に頭をぶつけてきました。Google、SO、または自分でこれをランダムにデバッグしようとしても、何も見つからないようです。運がない。
私は非常に基本的なものが欠けていると感じています。問題になるのは、C ++に関する私の限られた(しかし成長している!)知識だけである可能性があります。あるいは、私は何かを太く指で触れただけかもしれません。よくわかりません。
どんな助けでも大歓迎です!(そして私がそれを理解したら、私は答えを投稿します)。
補足:これに「libconfig」のタグを付けようとしましたが、明らかにそのタグは存在せず、まだ作成するのに十分な評判がありません。
編集
それは私のautomake/configureセットアップの問題であることがわかりました。私のMakefile.amでは、LDFLAGS+=の代わりに持っていましたLIBS=。どうやらそれ(そしてぐっすり眠る)は大きな違いを生む。
* facepalm *
php - PHP での libconfig ファイルの解析
PHP で「libconfig」形式のファイルから変数を読み書きする必要があります。しかし、そのためのライブラリはどこにも見つかりません。もちろん、C/C++ ライブラリについては知っていますが、それを使用するには拡張機能を作成する必要があります。
そのようなライブラリまたは拡張機能は存在しますか?
c++ - libconfig は静的リンケージではありません。プログラムにコンパイルする方法
libconfig を使用してアーカイブをダウンロードしますが、システムにインストールするつもりはありません。それを静的ライブラリとしてコンパイルし、プログラム girectory からリンクするか、プログラムのコンパイル時に自分のプログラムに直接リンクしますか?
Makefileでこれを行う方法はありますか? (FreeBSD(UNIX)、GCC) または、プログラムへのコンパイルをサポートする他の UNIX 構成ライブラリを提案してください。
c++ - libconfig編集構成値
C++ ゲームで構成ファイルを読み書きするために libconfig を使用しています。
現在、video.cfg という名前の構成ファイルが 1 つだけあります。
この構成ファイルは、ゲームのビデオ設定を処理します。
ユーザー入力に基づいてこの値を変更する非常に基本的なコンソール プログラムを作成しようとしています。しかし、これを行う方法がわかりません。libconfigマニュアルには何も見つかりませんし、Googleにも何も見つかりません。
では、Libconfig で値を編集するにはどうすればよいでしょうか。
java - Java用の`libconfig`のようなものですか?
libconfigのようなJavaフレームワークを探しています。私はその単純な人間が読める構成ファイルが好きで、配列、リスト、グループから構成される複雑な設定値を作成できることも気に入っています。
Java(XMLではない)に似たものはありますか?
c - .cfg ファイルを使用したポインターによる警告
libconfigを使用してacプログラムをセットアップしようとしています。example1.c があります:
および example.cfg ファイル
値 = { チャンネル = "こんにちは"; }
コンパイルしたら
gcc example1.c -lconfig
それは言います:
おもしろいことに、それは機能します...出力は次のとおりです 。argumente = hello
この警告を取り除くにはどうすればよいですか?
const char *channel宣言をおよび output に変更するとprintf("argumente = %s\n", channel);、開始時にセグメンテーション違反が発生し、コンパイル時に次のような警告が表示されます...Detailed: »const char **« expected, but argument has typ »const char *«
java - libconfig Java ラッパーを探しています
現在、私は Java Web アプリケーションの開発に取り組んでおり、この libconfig ファイルhttp://www.hyperrealm.com/libconfig/を解析する必要があります。
しかし、Java で libconfig ファイルを解析するための互換性のあるライブラリが見つかりません。
何か案が?最悪の場合、独自のラッパーを作成する必要がありますか?