Как скомпилить Level DB под Windows?
От: Мёртвый Даун Россия  
Дата: 16.08.17 07:49
Оценка: +2 :))) :))
Заколебался уже.

Как скомпилить Google Level DB под Windows в MS VS 2015?
Разумеется там это дерьмо под православные ОС написано. А под Винду нет.
Тут порт под Винду, и даже компилится.
Но как обычно, ни одного примера как это дерьмо заюзать. А всё что сам наколбасил даже не компилится, кругом одни incomplete type.

Я думал то тема стара как кал мамонта, но ни одного вменяемого примера под Венду.

Времени разбираться нет, если с этим дерьмом требуются какие то долгие пляски, посоветуйте тогда другое дерьмо вместо.

P.S. Ну когда мир станет цивилизованным то?! Ну написал гавнолибу, ну приложи примеры как это дерьмо юзать из каропки, максимум #include "my_shit_lib.h"
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: Как скомпилить Level DB под Windows?
От: oziro Нигерия  
Дата: 16.08.17 09:21
Оценка:
Я вот это использовал https://github.com/antmak/leveldb/commits/cmake-msvc

[А чего на РСДН такие резкие? Вроде сейчас новый положительный тренд: адекватное общение. Я сюда редко захожу, а тут такое]

С примерами как-то не было особо проблем. key-value, в самом рафинированном виде. Никогда не сталкивался? Делишь key на логические поля, если надо, и вперед (ну, т.е. база о разделении ничего знать не будет, это лично для тебя, типа 'ID1_SUB2_SUBSUB3'). А внутрь value я клал protobuf-кодированные блобы. Работало довольно шустро. Но у меня value больше килобайта (а наверно, меньше) никогда не было.

Рекомендую ребейзнуться на свежий мастер только.
Отредактировано 16.08.2017 9:30 oziro . Предыдущая версия .
Re[2]: Как скомпилить Level DB под Windows?
От: Zhendos  
Дата: 16.08.17 09:33
Оценка: 2 (1)
Здравствуйте, oziro, Вы писали:


O>Я вот это использовал https://github.com/antmak/leveldb/commits/cmake-msvc


O>Рекомендую ребейзнуться на свежий мастер только.


Вообще авторы leveldb пишут:

https://github.com/google/leveldb/pull/300

> For the time being the leveldb project intends to maintain support only for POSIX (on Linux)


https://github.com/google/leveldb#contributing-to-the-leveldb-project

> POSIX only. We generally will only accept changes that are both compiled, and tested on a POSIX platform — usually Linux. Very small changes will sometimes be accepted, but consider that more of an exception than the rule.


Я бы не рисковал использовать её на windows
Re[3]: Как скомпилить Level DB под Windows?
От: oziro Нигерия  
Дата: 16.08.17 09:42
Оценка:
Здравствуйте, Zhendos, Вы писали:


Z>Вообще авторы leveldb пишут:


Z>https://github.com/google/leveldb/pull/300


>> For the time being the leveldb project intends to maintain support only for POSIX (on Linux)


Z>https://github.com/google/leveldb#contributing-to-the-leveldb-project


>> POSIX only. We generally will only accept changes that are both compiled, and tested on a POSIX platform — usually Linux. Very small changes will sometimes be accepted, but consider that more of an exception than the rule.


Z>Я бы не рисковал использовать её на windows


А, ну ясно. В свое время я такой четкой позиции не заметил. Что ж, теперь я тоже не буду рекомендовать leveldb для винды. Да надо sqlite брать и всё. Там для key-value какие-то есть фичи.
Re[2]: Как скомпилить Level DB под Windows?
От: Мёртвый Даун Россия  
Дата: 16.08.17 09:50
Оценка: +1 :)
Здравствуйте, oziro, Вы писали:

O>Я вот это использовал https://github.com/antmak/leveldb/commits/cmake-msvc


Ты балдеешь чтоли?

D:\Projects\Contribute\leveldb-cmake-msvc\build>cmake ..
-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Configuration:
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Projects/Contribute/leveldb-cmake-msvc/build


C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstdint(53): error C2873: 'intmax_t': symbol cannot be
 used in a using-declaration [D:\Projects\Contribute\leveldb-cmake-msvc\build\leveldb.vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstdint(54): error C2039: 'uintmax_t': is not a member
 of '`global namespace'' [D:\Projects\Contribute\leveldb-cmake-msvc\build\leveldb.vcxproj]
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstdint(54): error C2873: 'uintmax_t': symbol cannot b
e used in a using-declaration [D:\Projects\Contribute\leveldb-cmake-msvc\build\leveldb.vcxproj]

    Предупреждений: 16
    Ошибок: 5910

Затраченное время: 00:00:27.47


D:\Projects\Contribute\leveldb-cmake-msvc\build>msbuild /version
Microsoft (R) Build Engine версии 14.0.25420.1
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

14.0.25420.1

C:\Program Files (x86)\Microsoft Visual Studio 14.0>cl.exe /version
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x86


O>С примерами как-то не было особо проблем. key-value, в самом рафинированном виде. Никогда не сталкивался? Делишь key на логические поля, если надо, и вперед (ну, т.е. база о разделении ничего знать не будет, это лично для тебя, типа 'ID1_SUB2_SUBSUB3'). А внутрь value я клал protobuf-кодированные блобы. Работало довольно шустро. Но у меня value больше килобайта (а наверно, меньше) никогда не было.


Ты слово пример точно правильно понимаешь?
Пример, это вот что такое:


// THIS EXAMPLE CODE HOW TO USES THAT SHIT

#include <iostream>
#include <string>

int main()
{
  leveldb_t *example_shit_db = NULL;
  leveldb_options_t shit_opt;

  example_shit_db = leveldb_open(&opt, _T("c:\\temp\\shit.db"), NULL);

  // and so on...

  return 0;
}


Хоть одно такое есть?

Но в принципе после такого билда эту гавно либу можно уже на помоечку.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[4]: Как скомпилить Level DB под Windows?
От: Мёртвый Даун Россия  
Дата: 16.08.17 09:56
Оценка: +1 :)
Здравствуйте, oziro, Вы писали:

>>> POSIX only. We generally will only accept changes that are both compiled, and tested on a POSIX platform — usually Linux. Very small changes will sometimes be accepted, but consider that more of an exception than the rule.


Z>>Я бы не рисковал использовать её на windows


O>А, ну ясно. В свое время я такой четкой позиции не заметил. Что ж, теперь я тоже не буду рекомендовать leveldb для винды. Да надо sqlite брать и всё. Там для key-value какие-то есть фичи.


Я вот никогда не понимал таких пояснений. "...Это дерьмо работает только на POSIX систееееемах, обычно это Linux. Возможно, чуть чуть на Windows, на полшишечки... а может и нет...". Вот это мямленье блин бесит! Посикс, херосикс... Почеум четко нельзя написать: "Это дерьмо работает только под Линукс. Под виндоус — нет, и никогда не будет." ВСЁЁЁЁЁ!!!!!!!!!!!! А то всегда так пишут, как будто у нас миллион POSIX систем, и два миллиона не POSIX, и я блин перед выбором стою такой.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Отредактировано 16.08.2017 10:00 Мёртвый Даун . Предыдущая версия .
Re: Как скомпилить Level DB под Windows?
От: EreTIk EreTIk's Box
Дата: 16.08.17 13:23
Оценка:
МД>Как скомпилить Google Level DB под Windows в MS VS 2015?
МД>Разумеется там это дерьмо под православные ОС написано. А под Винду нет.
МД>Тут порт под Винду, и даже компилится.

Если осталось еще желание поковырять — chromium: INSTRUCTIONS FOR BUILDING LEVELDB ON WINDOWS / MSVC++. Мопед не мой, но в рамках chromium эта база работает и под Windows.
Re[5]: Как скомпилить Level DB под Windows?
От: novitk США  
Дата: 16.08.17 13:44
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Почеум четко нельзя написать: "Это дерьмо работает только под Линукс. Под виндоус — нет, и никогда не будет." ВСЁЁЁЁЁ!!!!!!!!!!!! А то всегда так пишут, как будто у нас миллион POSIX систем, и два миллиона не POSIX, и я блин перед выбором стою такой.


То что ты предлагаешь, как раз и есть "не четко". Под виндой есть POSIX системы (cygwin, WSL) и там оно скорее всего работает.
Re[2]: Как скомпилить Level DB под Windows?
От: Мёртвый Даун Россия  
Дата: 16.08.17 15:30
Оценка:
Здравствуйте, EreTIk, Вы писали:

ETI>Если осталось еще желание поковырять — chromium: INSTRUCTIONS FOR BUILDING LEVELDB ON WINDOWS / MSVC++. Мопед не мой, но в рамках chromium эта база работает и под Windows.


Не пойдет, там буст нужен.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re[4]: Как скомпилить Level DB под Windows?
От: alex_public  
Дата: 16.08.17 18:20
Оценка: 18 (4)
Здравствуйте, oziro, Вы писали:

O>А, ну ясно. В свое время я такой четкой позиции не заметил. Что ж, теперь я тоже не буду рекомендовать leveldb для винды. Да надо sqlite брать и всё. Там для key-value какие-то есть фичи.


Если нужно ключ-значение хранилище (как Redis), но локальное, то тогда по эффективности лучше всего брать lmdb. Если требуется база документов (как MongoDB), но локальная, то берём UnQLite. Если же нужная реляционная база данных (как PostgreSql), но локальная, то берём SQLite.

Понятно, что схему ключ-значение могут реализовать все перечисленные. Но максимально эффективный результат будет при применение специализированного инструмента.
Re: Как скомпилить Level DB под Windows?
От: PM  
Дата: 16.08.17 19:03
Оценка: 12 (4) +1
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Заколебался уже.


МД>Как скомпилить Google Level DB под Windows в MS VS 2015?


Поддерживаю рекомендацию alex_public про LMDB. У LevelDB врожденные проблемы с надежностью хранения данных, google:leveldb reliability
Re[2]: Как скомпилить Level DB под Windows?
От: Мёртвый Даун Россия  
Дата: 17.08.17 04:23
Оценка:
Здравствуйте, PM, Вы писали:

PM>Здравствуйте, Мёртвый Даун, Вы писали:


МД>>Заколебался уже.


МД>>Как скомпилить Google Level DB под Windows в MS VS 2015?


PM>Поддерживаю рекомендацию alex_public про LMDB. У LevelDB врожденные проблемы с надежностью хранения данных, google:leveldb reliability


Спасибо, вроде подходит.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Отредактировано 17.08.2017 5:40 Мёртвый Даун . Предыдущая версия . Еще …
Отредактировано 17.08.2017 5:20 Мёртвый Даун . Предыдущая версия .
Отредактировано 17.08.2017 5:18 Мёртвый Даун . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.