2015-09-07 3 views
0

Я пытаюсь получить приложение, работающее с ПЛК. Я использую эту библиотеку: https://github.com/FreeOpcUa/freeopcuaEmbarcadero и free opc ua

пример кода: https://github.com/FreeOpcUa/freeopcua/blob/master/src/examples/example_client.cpp

Но когда я включаю файлы заголовков (как в примере) из библиотеки он дает ошибку:

невиртуальной функции ' DateTime :: DateTime (const DateTime &) 'объявлено чистым.

Когда я ищу конкретную линию этой ошибки он показывает мне это:

DateTime(const DateTime&) = default; 

Я уже задавал его на странице GitHub, и они говорят, что это что-то делать с моим компилятором. Я никогда не касался его, поэтому у него не должно быть странных вариантов.

Так как я могу это решить? И если что-то не так с моим компилятором, как я могу изменить параметры компилятора, чтобы устранить его?

enter image description here

+0

Вам не хватает деталей, например, какого продукта Embarcadero вы используете, в какой версии и т. Д. В общем, если вы используете, например, C++ Builder для создания 32-битных приложений, можно с уверенностью предположить, что нет возможности изменить, но используемому компилятору просто не хватает функций C++. Недавно был опубликован C++ Builder XE 10 с новым 32-битным компилятором на основе CLANG и LLVM, который может стоить попробовать. –

+0

Извините, что я использую C++ builder XE8 32 бит. Я могу изменить некоторые параметры для компилятора: я добавил скриншот в вопросе – Bart

+0

@ ThorstenSchöning Нет XE 10, а новая Rad Studio не имеет префикса XE, это просто Rad Studio 10. –

ответ

0

Да, bcc32 не позволяют создать экземпляр абстрактного класса. Таким образом, вы можете изменить целевую платформу на win64 и компилировать без ошибок.

Другой способ, как сказал Торстен Шенинг, вы можете использовать C++ Builder 10 с компилятором CLANG на основе bcc32c и делать это также без ошибок.

+0

Я не могу установить его в win 64. Я сделал что-то не так, когда я устанавливал эту программу, я думаю? или я должен что-то обновить? Я использую 64-разрядную ОС, так что это не должно быть проблемой. – Bart

+0

Вам понадобится установить поддержку 64-битной Windows во время установки, которая по умолчанию, и в проекте должна быть добавлена ​​64-битная Windows в качестве целевой платформы. Существует контекст menü, где ваша целевая платформа указана как 32-битная Windows. –

Смежные вопросы