2014-10-06 2 views
0

Я получаю ошибки, устанавливая SFML на Eclipse. Я отлично следил за инструкциями, но я все еще получаю эти ошибки. Я пробовал TDM SJLJ и MinGW DW2 - обе дают разные неопределенные ссылки.Неопределенная ссылка на impl

Я динамически связываюсь с библиотеками sfml, и я правильно установил путь к библиотекам.

Вот один, что я получаю:

undefined reference to `_imp___ZN2sf6Window5closeEv' SFMLHelloWorld.cpp /SFMLHelloWorld/src line 15 C/C++ Problem 

Все неопределенные ссылки имеют префикс _impl на них. Как это исправить?

+0

похоже, что вы неправильно установили путь к библиотеке. Компилятор не может найти определение для определенных функций. – gldraphael

+0

'Я динамически связываюсь с библиотеками sfml'. Эти библиотеки« импортируют библиотеки »или« статические библиотеки »? Ошибка 'imp' в ошибке означает' import'. Если вы дали ссылку на статические библиотеки, то это не хорошо. Вам необходимо предоставить библиотеки импорта. – PaulMcKenzie

+0

@PaulMcKenzie Как получить библиотеки импорта? – user2030677

ответ

1

Как указано в комментариях _imp__ указывает, что ссылка ищет импортированную функцию, то есть она ищет динамическую библиотеку.

Поскольку вы просто протестировали обе версии MinGW, я предполагаю, что вы не понимаете, как это должно работать. MinGW сборки несовместимы как таковые, вам нужно убедиться, что ваши библиотеки были созданы с помощью компилятора, который вы используете для проекта. Предварительно созданные двоичные файлы на веб-сайте SFML были созданы со старыми версиями компилятора, и я не могу посоветовать использовать такой старый компилятор.

Я предлагаю вам установить установщик MinGW Builds для получения компилятора uptodate. Затем вам нужно либо построить SFML с CMake, как описано в official tutorial, либо если вы не можете его правильно построить, вы также можете использовать мой Nightly Builds of SFML, но опять же вам нужно убедиться, что вы используете тот же самый компилятор.

+0

Что мне делать после загрузки ночной сборки? – user2030677

+0

Используйте [официальный учебник] (http://sfml-dev.org/tutorials/2.1/start-cb.php) и начинайте учиться самостоятельно. – Lukas

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