Проблема со статической связью с ботаном в Windows с помощью MSVC
Я пытаюсь статически связать библиотеку Qt, которую я строю, с Botan, используя MSVC в Windows, и получаю следующую ошибку.
..\..\3rdparty\temp\botan-msvc\build\include\botan/secmem.h(129) : error C2589: '(' : illegal token on right side of '::'
..\..\3rdparty\temp\botan-msvc\build\include\botan/secmem.h(128) : while compiling class template member function 'void Botan::MemoryRegion<T>::copy(const T [],size_t)'
with
[
T=Botan::byte
]
..\..\3rdparty\temp\botan-msvc\build\include\botan/buf_comp.h(41) : see reference to class template instantiation 'Botan::MemoryRegion<T>' being compiled
with
[
T=Botan::byte
]
..\..\3rdparty\temp\botan-msvc\build\include\botan/secmem.h(129) : error C2059: syntax error : '::'
Это не происходит с MinGW. Это также происходит, когда я закомментирую весь код, связанный с Botan. Что это значит и как я могу решить эту проблему - а также почему это не происходит с MinGW?
1 ответ
Решение
Мне удалось выяснить проблему с помощью комментария Джека Ллойда. Очевидно то, что включено через тот или иной путь #defined "min". Я просто не определил его, и моя библиотека прекрасно компилируется и связывается. Спасибо, Джек!