dmikushin / binance-cxx-api

Binance Bincoin Exchange C++ API
MIT License
64 stars 42 forks source link

osx compilation issue #7

Closed 0x75 closed 4 years ago

0x75 commented 4 years ago

Hi, almost got it compiled on osx 10.13.6.

uint64_t tid; pthread_threadid_np(NULL, &tid); return tid;

then code compiles. There seems to be a problem with jsoncpp though. cause the last stepp in compiling libbinacpp.so gives me this error: /usr/local/Cellar/gcc/9.2.0_2/bin/g++-9 -fPIC -shared -lcurl -lwebsockets -ljsoncpp binance.cpp *.o -o libbinacpp.so -lcrypto -L /usr/local/Cellar/openssl@1.1/1.1.1d/lib/ -L/usr/local/lib -ljsoncp

"Json::Reader::parse(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, Json::Value&, bool)", referenced from: binance::Account::getInfo(Json::Value&, long) in binance_account.o binance::Account::getTrades(Json::Value&, char const, int) in binance_account.o binance::Account::getTradesSigned(Json::Value&, char const, long, long, int) in binance_account.o binance::Account::getHistoricalTrades(Json::Value&, char const, long, int) in binance_account.o binance::Account::getOpenOrders(Json::Value&, long) in binance_account.o binance::Account::getOpenOrders(Json::Value&, char const, long) in binance_account.o binance::Account::getAllOrders(Json::Value&, char const, long, int, long) in binance_account.o ... "Json::Value::getMemberNames[abi:cxx11]() const", referenced from: binance::Account::getInfo(Json::Value&, long) in binance_account.o binance::Account::getTrades(Json::Value&, char const, int) in binance_account.o binance::Account::getTradesSigned(Json::Value&, char const, long, long, int) in binance_account.o binance::Account::getHistoricalTrades(Json::Value&, char const, long, int) in binance_account.o binance::Account::getOpenOrders(Json::Value&, long) in binance_account.o binance::Account::getOpenOrders(Json::Value&, char const, long) in binance_account.o binance::Account::getAllOrders(Json::Value&, char const, long, int, long) in binance_account.o ... "Json::Value::asString[abi:cxx11]() const", referenced from: binance::Account::getInfo(Json::Value&, long) in binance_account.o binance::Account::getTrades(Json::Value&, char const, int) in binance_account.o binance::Account::getTradesSigned(Json::Value&, char const, long, long, int) in binance_account.o binance::Account::getHistoricalTrades(Json::Value&, char const, long, int) in binance_account.o binance::Account::getOpenOrders(Json::Value&, long) in binance_account.o binance::Account::getOpenOrders(Json::Value&, char const, long) in binance_account.o binance::Account::getAllOrders(Json::Value&, char const*, long, int, long) in binance_account.o ...

if i remove -ljsoncpp there are tons of errors, so it clearly finds jsoncpp. I have no idea what the issue is. Any help appreciated. (compiles fine on linux ! thanks for the effort)

dmikushin commented 4 years ago

Thanks for testing OSX! Indeed, there are some issues. On Catalina I get way more beyond your list due to perhaps unsuitable openssl version. Maybe I will fix this by shipping our own submodule for openssl as well. Let me get back to you once it's done.

dmikushin commented 4 years ago

You should now have much better luck on MacOS with fb1faec37a11d56b9dceaea2a07954c3dd5e100d Please rebuild from scratch, as the dependencies are now in submodules.