2014-02-10 1 views
0

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

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, я думаю, существует проблема несовместимости с тем, как определяются макросы (или я ошибаюсь?).

+1

Обрабатывает файл (компилировать с/P) и посмотреть, что выйдет. Вероятно, это облегчит поиск проблемы синтаксиса. –

+0

Спасибо Джеймсу, это будет полезно. Единственная проблема заключается в том, что результат препроцесса, связанного с макросом, слишком велик и не содержит новых символов строки - они были перезаписаны символами пробела. Из-за этого я не смог отформатировать его для анализа. –

ответ