使用MSVC在Windows上静态链接到Botan的问题

时间:2010-12-27 13:13:00

标签: qt visual-c++ botan

我试图在Windows上使用MSVC将我正在构建的Qt库静态链接到Botan,并且收到以下错误。

..\..\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 个答案:

答案 0 :(得分:2)

我能够在Jack Lloyd的评论帮助下找出问题所在。显然是通过一条或另一条路径包含的东西#defined“min”。我刚刚定义它,我的库完全编译和链接。谢谢杰克!