[C++]jsoncpp.cppコンパイルできない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kiyo
記事: 3
登録日時: 5年前

[C++]jsoncpp.cppコンパイルできない

#1

投稿記事 by kiyo » 5年前

c++初心者です。
jsoncpp.cppのコンパイルを試みたところ以下のようなエラーが発生してしまいます。どのように解決すれば良いでしょうか?よろしくお願いします。
バージョン:1.8.3
環境:CentOS7.5

jsoncpp.cpp:79:2: error: #error "Compile with -I PATH_TO_JSON_DIRECTORY"
#error "Compile with -I PATH_TO_JSON_DIRECTORY"
^
jsoncpp.cpp:225:29: fatal error: json/assertions.h: No such file or directory
#include <json/assertions.h>

c++用バイナンスapi導入を試みています。
https://github.com/binance-exchange/binacpp
色々試してはいるものの、コンパイルすらできない状態に陥っています。。。

よもやま
記事: 68
登録日時: 8年前
連絡を取る:

Re: [C++]jsoncpp.cppコンパイルできない

#2

投稿記事 by よもやま » 5年前

試したこととはなんでしょうか。
エラーメッセージからですと
json/assertions.hのインクルードパスが不足しているか、コンパイルオプションでパスを指定するよう書かれています。

kiyo
記事: 3
登録日時: 5年前

Re: [C++]jsoncpp.cppコンパイルできない

#3

投稿記事 by kiyo » 5年前

以下のMakefileを作成したら、コンパイルできました。includeファイルのパスを指定しました。
しかし、二つ目のエラー<json/assertions.h>についてはよくわからないままです。とりあえずはコンパイルできてしまいました。

jsoncpp:jsoncpp.cpp
g++ -c jsoncpp.cpp -I../include


色々試したことと言うのは、今回のコンパイルのことではなく、binance-apiについてです。上記のリンク先に記載がありますが、以下のMakefileよりコンパイルしてもエラーが出てしまいます。それぞれのライブラリが適切に読まれていないみたいです。それぞれインストールした後、-rpathを使って再びコンパイルしてみます。ありがとうございました。


<エラー>
/usr/bin/ld: warning: librtmp.so.0, needed by ../lib/libcurl-7.56.0/lib/libcurl.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libssl.so.1.0.0, needed by ../lib/libcurl-7.56.0/lib/libcurl.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcrypto.so.1.0.0, needed by ../lib/libcurl-7.56.0/lib/libcurl.so, not found (try using -rpath or -rpath-link)

<Makefile>
libcurl_dir=../lib/libcurl-7.56.0
libcurl_include=${libcurl_dir}/include
libcurl_lib=${libcurl_dir}/lib

jsoncpp_dir=../lib/jsoncpp-1.8.3
jsoncpp_include=${jsoncpp_dir}/include
jsoncpp_src=${jsoncpp_dir}/src


libwebsockets_dir=../lib/libwebsockets-2.4.0
libwebsockets_include=${libwebsockets_dir}/include
libwebsockets_lib=${libwebsockets_dir}/lib

libbinacpp_dir=../lib/libbinacpp
libbinacpp_include=${libbinacpp_dir}/include
libbinacpp_lib=${libbinacpp_dir}/lib



%: %.cpp
g++ -I$(libcurl_include) -I$(jsoncpp_include) -I$(libwebsockets_include) -I$(libbinacpp_include) \
$@.cpp \
-L$(libcurl_lib) \
-L$(libwebsockets_lib) \
-L$(libbinacpp_lib) \
-lcurl -ljsoncpp -lcrypto -lwebsockets -lbinacpp -o $@

返信

“C言語何でも質問掲示板” へ戻る