Builds on windows again

This commit is contained in:
eelke 2017-11-26 13:07:21 +01:00
parent 33cf39b799
commit bebb3391c3
160 changed files with 138 additions and 117 deletions

50
pglab/main.cpp Normal file
View file

@ -0,0 +1,50 @@
#include "MasterController.h"
#include <QApplication>
#ifdef _WIN32
# include <winsock2.h>
#endif
#include <memory>
#include "GlobalIoService.h"
int main(int argc, char *argv[])
{
/* Use the MAKEWORD(lowbyte, highbyte) macro declared in Windef.h */
#ifdef WIN32
WORD wVersionRequested = MAKEWORD(2, 2);
WSADATA wsaData;
int err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0) {
/* Tell the user that we could not find a usable */
/* Winsock DLL. */
printf("WSAStartup failed with error: %d\n", err);
return 1;
}
#endif
QApplication a(argc, argv);
QCoreApplication::setOrganizationName("pglab");
QCoreApplication::setOrganizationDomain("eelkeklein.nl");
QCoreApplication::setApplicationName("pglab");
std::thread asio_service_thread;
int result = -1;
{
auto ios = getGlobalAsioIoService();
boost::asio::io_service::work work(*ios); // Prevent service from running out of work so run doesn't return
asio_service_thread = std::thread([ios](){ ios->run(); });
// make sure the io_service is stopped before we wait on the future
auto master_controller = std::make_unique<MasterController>();
master_controller->init();
result = a.exec();
}
asio_service_thread.join();
#ifdef WIN32
WSACleanup();
#endif
return result;
}