Я знаю, что подобные вопросы существуют, я их видел, и мне не повезло с ними в мои часы устранения неполадок, прежде чем я решил, что должен спросить.
Я новичок в C ++, изучаю его через класс. Мое задание требует от меня использования сторонней библиотеки: SFML . Моя текущая настройка кодирования использует Netbeans с плагином C ++, Windows 10. Ранее я использовал компилятор Cygwin. SFML утверждает, что требует, чтобы он использовался с точной версией одного из компиляторов, с которыми он был скомпилирован, поэтому я выбрал MinGW 7.3.0, который с тех пор установил, и продолжил свои попытки.
В "Project" -> Properties -> Build -> C ++ Compiler я добавил каталог включений SFML:
"C: / Пользователи / Drayux / Документы / Кодирование / NetBeans / Сторонние библиотеки / SFML-2.5.1 / include"
Здесь, в -> Определения препроцессора я также добавил:
SFML_STATIC
Как предполагает учебник здесь .
В "Project" -> Properties -> Build -> Linker я добавил каталоги lib и bin SFML:
"C: / Пользователи / Drayux / Документы / Кодирование / NetBeans / Сторонние библиотеки / SFML-2.5.1 / bin"
"C: / Пользователи / Drayux / Документы / Кодирование / NetBeans / Сторонние библиотеки / SFML-2.5.1 / lib"
Наконец, я позаботился о том, чтобы вручную добавить каждую библиотеку по отдельности в разделе «Библиотеки» раздела «Линкер». Также как предложено в приведенном выше руководстве.
После всего этого я могу написать стандартную программу, которая компилируется и запускается. Однако, как только я начинаю включать заголовки библиотеки SFML, иногда код создается, но не запускается, а иногда просто не собирается все вместе.
Возьмите этот пример кода:
#include <iostream>
using namespace std;
#include <SFML/Graphics.hpp>
using namespace sf;
int main() {
cout << "Test output line" << endl;
RenderWindow window(VideoMode(200, 200), "Hello there!");
//CircleShape shape(100.f);
return 0;
}
Когда я пытаюсь собрать его в конфигурации, описанной выше, сборка завершается успешно, но запуск не выполняется. Вот обе консоли.
Сложение:
cd 'C:\Users\Drayux\Documents\Coding\NetBeans\Lab7C'
C:\Program Files\MinGW\MSYS\bin\make.exe -f Makefile CONF=Debug
"/C/Program Files/MinGW/MSYS/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/Users/Drayux/Documents/Coding/NetBeans/Lab7C'
"/C/Program Files/MinGW/MSYS/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/lab7c.exe
make.exe[2]: Entering directory `/c/Users/Drayux/Documents/Coding/NetBeans/Lab7C'
make.exe[2]: `dist/Debug/MinGW-Windows/lab7c.exe' is up to date.
make.exe[2]: Leaving directory `/c/Users/Drayux/Documents/Coding/NetBeans/Lab7C'
make.exe[1]: Leaving directory `/c/Users/Drayux/Documents/Coding/NetBeans/Lab7C'
BUILD SUCCESSFUL (total time: 3s)
Пробег:
C:/Users/Drayux/Documents/Coding/NetBeans/Lab7C/dist/Debug/MinGW-Windows/lab7c.exe: error while loading shared libraries: sfml_window-d-2.dll: cannot open shared object file: No such file or directory
RUN FAILED (exit value 127, total time: 74ms)
Я пробовал решение, добавив LD_LIBRARY_PATH в раздел среды в разделе Выполнить в свойствах проекта, но безуспешно.
Не видя других решений, касающихся моей ситуации, я чувствую себя застрявшим. Любая помощь с благодарностью.
Спасибо,
Лиам