Привет, поэтому я использую msVS ++ 2010 и пытаюсь настроить SFML весь день .... Я скачал 1.6 с сайта, а затем перестроил его в VS2010, но грустно обнаружить, что это не привело кФайл sfml-system-d.lib, к которому я привык, и производил только новые библиотеки system-s и system-sd.
Затем я внимательно наблюдал за этим Видео , чтобыобнаружил, что он запустил свой тестовый код, добавив внешнюю библиотеку sfml-system-sd, и поэтому я добавил sfml-system-d.dll рядом с .exe и получил следующий точно такой же код, который показывало видео:
#include <iostream>
#include <SFML/System.hpp>
int main(int argc, char **argv)
{
sf::Clock clock;
sf::Sleep(0.1f);
while(clock.GetElapsedTime() < 5.0f)
{
std::cout << clock.GetElapsedTime() << std::endl;
sf::Sleep(0.5f);
}
}
очевидно, что часы и сон работают, но когда я добавляю простую строку кода 'sf :: Thread thread ();'Появляется окно с сообщением «невозможно запустить программу», «Конфигурация неверна», «Проверьте файл манифеста на возможные ошибки», «Обновляете мое исправление».
Также:при попытке запустить первую программу учебных пособий о потоках:
#include <SFML/System.hpp>
#include <iostream>
void ThreadFunction(void* UserData)
{
// Print something...
for (int i = 0; i < 10; ++i)
std::cout << "I'm the thread number 1" << std::endl;
}
int main()
{
// Create a thread with our function
sf::Thread Thread(&ThreadFunction);
// Start it !
Thread.Launch();
// Print something...
for (int i = 0; i < 10; ++i)
std::cout << "I'm the main thread" << std::endl;
return EXIT_SUCCESS;
}
я получаю 8 нереализованных внешних символов, таких как этот:
1>sfml-system-s-d.lib(Thread.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall std::ios_base::width(int)" (__imp_?width@ios_base@std@@QAEHH@Z)
fatal error LNK1120: 8 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Наконец, так настроен мой проект:
- включает каталог «из коробки», недавно загруженный каталог SFML 1.6 / include
- lib в VS2010 перестроенный SFML (параметр DLL отладки / выпуска и статический).
- дополнительная зависимость от файла sfml-system-sd.lib.
- из-за разочарования я поместил каждый файл DLL рядом с .exe