Так хорошо я борюсь с ВИНОМ и MinGW32 прямо сейчас. Таким образом, у меня есть файл, sortem.cpp
который скомпилирован с Make-файлом и связан и все от того Make-файла.
sortem.cpp
#include <windows.h>
#include <iostream>
#include <string>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
int main ()
{
sf::RenderWindow window;
window.create(sf::VideoMode(720,480),"Sort 'em!");
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
window.clear();
switch (event.type)
{
case sf::Event::Closed:
window.close();
}
window.display();
}
}
return 0;
}
Make-файл
LD = ../bin
LIBS= $(LD)/sfml-window-2.dll $(LD)/sfml-system-2.dll $(LD)/sfml-graphics-2.dll $(LD)/sfml-network-2.dll $(LD)/sfml-audio-2.dll
OBJECTS= sortem.o
CXX= i586-mingw32msvc-g++
all: sortem.exe
sortem.exe: $(OBJECTS)
$(CXX) -o ../bin/sortem.exe $(OBJECTS) $(LIBS)
%.o: %.cpp
$(CXX) -c $<
clean:
rm *.o
Таким образом, программа компилирует отлично, но при выполнении sortem.exe
с ВИНОМ это говорит, что программа должна выйти. Я нажимаю "Show details", и это открывается. Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x0046f4c6).
и много hexdumps. Я действительно не знаю то, что я делаю неправильно, возможно, библиотеки SFML не актуальны? Но это дало бы мне ошибку компиляции, не ошибку периода выполнения... Большое спасибо за справку, парней.
Наконец, я просто выяснил, что лучшее решение состояло в том, чтобы установить MinGW на Вине и выполнить g++.exe от Вина. Это работает как очарование действительно и никогда не дает единственную проблему, как только установка закончена.