Компиляция биткойнов на Visual C++

Я пытаюсь скомпилировать биткойн-0.8.6 в Windows с помощью Visual C++ 2010. До сих пор я создавал пустой проект, добавлял в него исходные файлы биткойнов, настраивал boost/openssl. Я получаю следующую синтаксическую ошибку в файле addrman.h:

addrman.h(380): ошибка C2143: синтаксическая ошибка: отсутствует ')' перед '{'

Строка, в которой возникает ошибка, связана с макросом IMPLEMENT_SERIALIZE:

https://github.com/bitcoin/bitcoin/blob/v0.8.6/src/addrman.h#L380

Макрос IMPLEMENT_SERIALIZE определен в файле serialize.h:

https://github.com/bitcoin/bitcoin/blob/v0.8.6/src/serialize.h#L55

Поскольку Биткойн был создан для GCC/Mingw, я предполагаю, что существует проблема несовместимости с тем, как определены макросы (или я ошибаюсь?).


person Bole Grat    schedule 10.02.2014    source источник
comment
Предварительно обработайте файл (скомпилируйте с параметром /P) и посмотрите, что получится. Это, вероятно, облегчит поиск проблемы с синтаксисом.   -  person James McNellis    schedule 10.02.2014
comment
Спасибо, Джеймс, это будет полезно. Единственная проблема заключается в том, что результат препроцесса, связанного с макросом, слишком велик и не содержит символов новой строки — они были перезаписаны символами пробела. Из-за этого я не смог отформатировать его для анализа.   -  person Bole Grat    schedule 10.02.2014


Ответы (1)


Обновление 2017: компиляция с помощью новой функции «Подсистема Windows для Linux» в версии 10 (подсказка Ubuntu bash) https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md

person Tearo Dactyl    schedule 30.04.2017