2016-12-23 11 views
-1

コードブロック(ビルドオプションはC++ 11に設定されていました)を使用して、以下に示すマルチスレッドサンプルコード(http://www.bogotobogo.com/cplusplus/multithreading_win32A.phpから取得)で遊んでいました。私は「cwchar」ファイルが開かれたプロジェクトを構築し、私は以下のよう「と宣言していません」エラーの膨大なリストを持ってCodeblocks C++マルチスレッドの巨大なエラーリスト

#include <windows.h> 
#include <iostream> 
#include <stdio.h> 

DWORD WINAPI myThread(LPVOID lpParameter) 
{ 
    unsigned int& myCounter = *((unsigned int*)lpParameter); 
    while(myCounter < 0xFFFFFFFF) ++myCounter; 
    return 0; 
} 

int main(int argc, char* argv[]) 
{ 
    using namespace std; 

    unsigned int myCounter = 0; 
    DWORD myThreadID; 
    HANDLE myHandle = CreateThread(0, 0, myThread, &myCounter, 0, &myThreadID); 
    char myChar = ' '; 
    while(myChar != 'q') { 
     cout << myCounter << endl; 
     myChar = getchar(); 
    } 

    CloseHandle(myHandle); 
    return 0; 
} 

。私はここで何が間違っているのか分かりません。

||=== Build: Debug in TEST2 (compiler: GNU GCC Compiler) ===| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|177|error: '::wcscat' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|178|error: '::wcscmp' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|179|error: '::wcscoll' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|180|error: '::wcscpy' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|181|error: '::wcscspn' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|183|error: '::wcslen' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|184|error: '::wcsncat' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|185|error: '::wcsncmp' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|186|error: '::wcsncpy' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|188|error: '::wcsspn' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|193|error: '::wcstok' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|196|error: '::wcsxfrm' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|204|error: '::wcschr' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|205|error: '::wcspbrk' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|206|error: '::wcsrchr' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|207|error: '::wcsstr' has not been declared| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar||In function 'wchar_t* std::wcschr(wchar_t*, wchar_t)':| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|213|error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|212|note: initializing argument 1 of 'wchar_t* std::wcschr(wchar_t*, wchar_t)'| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar||In function 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)':| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|217|error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|216|note: initializing argument 1 of 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)'| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar||In function 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)':| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|221|error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|220|note: initializing argument 1 of 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)'| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar||In function 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)':| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|225|error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar|224|note: initializing argument 1 of 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)'| 
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_traits.h|358|error: 'wcslen' was not declared in this scope| 
||=== Build failed: 21 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===| 
+0

windows.hヘッダーとmingwの使用が問題を引き起こしているかどうか疑問に思う – doctorlove

+0

これは問題の原因となっているwindows.hです。空以外のすべてをコメントアウトしました主な機能とビルドと私は同じエラーを持っています。私はそれを修正する方法を知らない? –

答えて

0

#include <windows.h>行を元の位置から#include <stdio.h>行以下に移動することで問題を解決しました。これは次のようになります:

#include <iostream> 
#include <stdio.h> 
#include <windows.h> 

私はそれがなぜうまくいったのか尋ねません。

2

あなたのコードのタイプミスがあり、エラーメッセージをお読みください:

HANDLE myHandle = CreateThread(0, 0, myThread, &myCounter;, 0, &myThreadID;); 

余分を削除します ';'この行からあなたはうまくいくはずです!

+0

余分なセミコロンを削除しましたが、これでcwcharファイルの問題は修正されません。質問コードとエラーダンプを更新しました。 –