私は大きな問題を抱えています、
ZeroMQ と C を使用するコードと、MongoDB と C を使用する別のコードがあり、このコードをマージする必要がありますが、このコマンドを使用してコンパイルしようとすると:
gcc -static -lzmq -o logg logger.c /home/lis/mongo-c-driver/libmongoc.a
私はこのエラースタックを手に入れました:
In file included from /usr/local/include/mongo.h:24:0,
from write_log.h:13,
from get_by_log_code.h:6,
from logger.c:23:
/usr/local/include/bson.h:63:2: error: #error Must compile with c99 or define MONGO_HAVE_STDINT, MONGO_HAVE_UNISTD, MONGO_USE__INT64, or MONGO_USE_LONG_INT.
In file included from get_by_log_code.h:6:0,
from logger.c:23:
write_log.h: In function ‘write_log’:
write_log.h:70:2: error: incompatible type for argument 1 of ‘mongo_insert’
/usr/local/include/mongo.h:369:18: note: expected ‘struct mongo *’ but argument is of type ‘mongo’
write_log.h:70:2: error: too few arguments to function ‘mongo_insert’
/usr/local/include/mongo.h:369:18: note: declared here
Mongo-C-Driver をインストールしたとき:
logger.c ファイルで、MongoDB-C-api と ZeroMQ-C-api の間の競合を解決するために make STD=c89 を使用しました。エラー スタックが要求する変数を定義しましたが、機能しません。 .