Переходя к переполнению стека после исчерпания всех моих усилий.
Я запускаю Code Blocks 13.12 и MinGW 4.8.1 на 64-битной системе Windows 7 OS. Я потратил два дня, пытаясь заставить компилятор связать (статически) с библиотекой SFML 2.1. Я следил за обоими учебными руководствами SFML tutorial и this - переустановкой обоих блоков кода и MinGW два раза, прежде чем он окончательно соединится.
После этого я был освобожден, что SFML был признан, но у меня было 50 ошибок, когда я пытался создавать и запускать, что предлагаемые возможности C++ 11 не были.
Добавлено -std=gnu++11
в параметры компилятора и 13 из этих ошибок исчезли.
Остальные ошибки относятся к двум категориям: mutex не является членом std и с момента времени t не является членом chrono :: _ V2 :: clock clock. Я даже не уверен, что такое _V2.Некоторые функции C++ 11 отсутствуют при использовании блоков кода 13.12, MinGW 4.8.1 и SFML 2.1
Что мне не хватает?
-------------- Build: Release in PumpTracker2.0 (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -std=gnu++11 -DSFML_STATIC -O2 -std=gnu++11 -IC:\SFML-2.1\include -IC:\SFML-2.1\include -c C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp -o obj\Release\main.o
In file included from C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:25:0:
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\Account.h:37:1: error: 'mutex' in namespace 'std' does not name a type
std::mutex mu;
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\Account.h:86:22: error: 'to_time_t' is not a member of 'std::chrono::_V2::steady_clock'
time_t currentTp = std::chrono::steady_clock::to_time_t(newly);
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\Account.h:94:48: error: 'from_time_t' is not a member of 'std::chrono::_V2::steady_clock'
std::chrono::steady_clock::time_point tNew = std::chrono::steady_clock::from_time_t(currentTp);
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:51:2: error: 'mutex' is not a member of 'std'
std::mutex mu3;
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:51:13: error: expected ';' before 'mu3'
std::mutex mu3;
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:52:19: error: 'mutex' was not declared in this scope
std::unique_lock<mutex> locker3(mu3, std::defer_lock);
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:52:24: error: template argument 1 is invalid
std::unique_lock<mutex> locker3(mu3, std::defer_lock);
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:52:33: error: invalid type in declaration before '(' token
std::unique_lock<mutex> locker3(mu3, std::defer_lock);
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:214:22: error: 'to_time_t' is not a member of 'std::chrono::_V2::steady_clock'
pS->tpNewest = std::chrono::steady_clock::to_time_t(NextPump);
^
C:\Users\WITcom\Desktop\C++\PumpTracker2.0\main.cpp:245:51: error: 'from_time_t' is not a member of 'std::chrono::_V2::steady_clock'
std::chrono::steady_clock::time_point TT2 = std::chrono::steady_clock::from_time_t(pS->tpNewest);
^
Process terminated with status 1 (0 minute(s), 4 second(s))
37 error(s), 47 warning(s) (0 minute(s), 4 second(s))
Пожалуйста, разместите фактические сообщения об ошибках, которые вы видите, в полном объеме, и это может быть возможно, чтобы предложить причины. –
Спасибо за ваш первоначальный ответ, Майк. Я опубликовал некоторые ошибки - самое подходящее для простого прочтения. –
Предполагая, что вы строите с помощью '-std = C++ 11',' error: 'mutex' в пространстве имен 'std' не называет тип', возможно, из-за того, что заголовок не включен в файл (ы) с этой ошибкой. Я ничего не могу предложить о ошибках 'to_time_t' и' from_time_t'. –