1

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 では発生しません。ボタン関連のコードをすべてコメントアウトしたときにも発生します。これは何を意味し、どうすれば解決できますか? また、MinGW で発生しないのはなぜですか?

4

1 に答える 1

2

Jack Lloyd のコメントの助けを借りて、問題を解決することができました。どうやら、あるパスまたは別の #defined "min" を介して含まれているものです。定義を解除しただけで、ライブラリは完全にコンパイルおよびリンクされます。ありがとうジャック!

于 2010-12-28T01:17:12.720 に答える