Я пытаюсь скомпилировать 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, я думаю, существует проблема несовместимости с тем, как определяются макросы (или я ошибаюсь?).
Обрабатывает файл (компилировать с/P) и посмотреть, что выйдет. Вероятно, это облегчит поиск проблемы синтаксиса. –
Спасибо Джеймсу, это будет полезно. Единственная проблема заключается в том, что результат препроцесса, связанного с макросом, слишком велик и не содержит новых символов строки - они были перезаписаны символами пробела. Из-за этого я не смог отформатировать его для анализа. –