Visual Studio 2012 — ошибка LNK2005 с переполнением стека Zxing

Я использую Visual Studio 2012 и ядро ​​Zxing c ++ для создания компонента среды выполнения Windows.
Я включил мои файлы C ++ в мой проект.

Когда я компилирую, я получил следующую ошибку:

Error   32  error LNK2005: "public: static unsigned int const
zxing::DecodeHints::CHARACTER_SET" (?CHARACTER_SET@DecodeHints@zxing@@2IB)
already defined in MyObject.obj

Я нашел нить в гугле (https://groups.google.com/forum/#!topic/zxing/U5dLnFjsDwQ) но это не решило мою проблему.

Любая идея ?

1

Решение

Проблема была решена (на данный момент). CHARACTER_SET был создан в файле .h, а не в cpp. По неизвестной мне причине компилятор Visual не позволяет этого, хотя с GCC проблем не было.

Старый код:

DecodeHints.h:

static const DecodeHintType CHARACTER_SET = 1 << 30;

DecodeHints.cpp:

const DecodeHintType DecodeHints::CHARACTER_SET;

был заменен на:

DecodeHints.h:

static const DecodeHintType CHARACTER_SET;

DecodeHints.cpp:

const DecodeHintType DecodeHints::CHARACTER_SET = 1 << 30;
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]