Building opencv3 with ffmpeg - c++

[ 40%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o
In file included from /home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg.cpp:45:0:
/home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp: In member function ‘void CvCapture_FFMPEG::close()’:
/home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:317:36:
error: ‘avcodec_free_frame’ was not declared in this scope
avcodec_free_frame(&picture);
^
/home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp: In member function ‘bool CvCapture_FFMPEG::open(const char*)’:
/home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:632:43: error: ‘avcodec_alloc_frame’ was not declared in this scope
picture = avcodec_alloc_frame();
^
/home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp:635:41: error: ‘PIX_FMT_BGR24’ was not declared in this scope
avpicture_get_size( PIX_FMT_BGR24,
^
/home/liuge/opencv-3.0.0/modules/videoio/src/cap_ffmpeg_impl.hpp: In member function ‘bool CvCapture_FFMPEG::retrieveFrame(int, unsigned char**, int*, int*, int*, int*)’:
.......
it works when i type -D WITH_FFMPEG=OFF
how do i build CV with FFmpeg?

Related

how to build p7 library with mingw?

Im trying to build p7 logger on my windows 10 for using with project that builds with mingw 11.2.0 x64 under QT 6.3.0. Build works with VS2015 14.0.25431.01, but it's soo many linker errors while trying to use the build in project. Actualy it looks like no one method from lib hasn't defined reference:
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0x73): undefined reference to `__imp__invalid_parameter_noinfo'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xe1): undefined reference to `__imp__invalid_parameter_noinfo'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0x127): undefined reference to `__imp__invalid_parameter_noinfo'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0x82e): undefined reference to `?Get_ArgV#CProc##SAPEAPEA_WPEB_WPEAH#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0x350): undefined reference to `_vsnwprintf'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0x863): undefined reference to `?Get_ArgV#CProc##SAPEAPEA_WPEAH#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xdfd): undefined reference to `wprintf'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xe0f): undefined reference to `?Free_ArgV#CProc##SAXPEAPEA_W#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xe2a): undefined reference to `?Free_ArgV#CProc##SAXPEAPEA_W#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xe66): undefined reference to `_RTC_CheckStackVars'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xf28): undefined reference to `?Get_Process_Time#CProc##SAIPEAI0#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xf92): undefined reference to `?Lock#CShared##SA?AW4eLock#1#PEB_WAEAPEAXI#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0xfad): undefined reference to `?Read#CShared##SAIPEB_WPEAEG#Z'
C:\dev\qt\projects\SnakemanSignature\libs\libP7Client_v5.6\Libs/p7.lib(p7.dir/Debug/Client.obj):(.text$mn+0x1006): undefined reference to `?UnLink#CShared##SAIPEB_W#Z'
There are 1361 error's like that.
I think problem in using different compilators for lib and project.
Tryna build p7 with mingw32-make, but it requires some <strsafe.h>, got header from here: There is no strsafe.h in MinGW? What to use instead?
and stored it in mingw's include folder.
Aaand here we go again, huh! All brand new errors:
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\Common.h:39:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:33,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'wchar_t* PStrCpy(wchar_t*, size_t, const wchar_t*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:47:57: error: 'wcscpy_s' was not declared in this scope
wcscpy_s((wchar_t*)i_pDst, i_szDst, (wchar_t*)i_pSrc);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'wchar_t* PWStrCpy(tWCHAR*, size_t, const tWCHAR*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:59:57: error: 'wcscpy_s' was not declared in this scope
wcscpy_s((wchar_t*)i_pDst, i_szDst, (wchar_t*)i_pSrc);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'wchar_t* PStrNCpy(wchar_t*, size_t, const wchar_t*, size_t)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:72:74: error: 'wcsncpy_s' was not declared in this scope
wcsncpy_s((wchar_t*)i_pDst, i_szDst, (wchar_t*)i_pSrc, i_pSrcMaxCount);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'void PUStrCpy(tWCHAR*, tUINT32, const wchar_t*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:124:52: error: 'wcscpy_s' was not declared in this scope
wcscpy_s((wchar_t *)i_pDst, i_dwMax_Len, i_pSrc);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'tINT32 PSPrint(wchar_t*, size_t, const wchar_t*, ...)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:140:54: error: '_TRUNCATE' was not declared in this scope
l_iReturn = _vsnwprintf_s(o_pBuffer, i_szBuffer, _TRUNCATE, i_pFormat, l_pVA);
^~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:140:81: error: '_vsnwprintf_s' was not declared in this scope
l_iReturn = _vsnwprintf_s(o_pBuffer, i_szBuffer, _TRUNCATE, i_pFormat, l_pVA);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'tINT32 PSPrint(tACHAR*, size_t, const tACHAR*, ...)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:159:53: error: '_TRUNCATE' was not declared in this scope
l_iReturn = _vsnprintf_s(o_pBuffer, i_szBuffer, _TRUNCATE, i_pFormat, l_pVA);
^~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:159:80: error: '_vsnprintf_s' was not declared in this scope
l_iReturn = _vsnprintf_s(o_pBuffer, i_szBuffer, _TRUNCATE, i_pFormat, l_pVA);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h: In function 'int PVsnprintf(wchar_t*, size_t, const wchar_t*, va_list)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:180:49: error: '_TRUNCATE' was not declared in this scope
return _vsnwprintf_s(o_pBuffer, i_szBuffer, _TRUNCATE, i_pFormat, i_pArgs);
^~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PString.h:180:78: error: '_vsnwprintf_s' was not declared in this scope
return _vsnwprintf_s(o_pBuffer, i_szBuffer, _TRUNCATE, i_pFormat, i_pArgs);
^
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\Common.h:44:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:33,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PThreadShell.h: In static member function 'static tBOOL CThShell::Create(CThShell::tpThreadProc, void*, void**, const wchar_t*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PThreadShell.h:45:39: warning: unused parameter 'i_pName' [-Wunused-parameter]
const tXCHAR *i_pName
^~~~~~~
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\Common.h:47:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:33,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h: In static member function 'static tBOOL CShared::Create(CShared::sShared**, const wchar_t*, const tUINT8*, tUINT16)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:108:18: error: 'ERROR_ALREADY_EXISTS' was not declared in this scope
|| (ERROR_ALREADY_EXISTS == GetLastError())
^~~~~~~~~~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:130:18: error: 'ERROR_ALREADY_EXISTS' was not declared in this scope
|| (ERROR_ALREADY_EXISTS == GetLastError())
^~~~~~~~~~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:152:9: error: '__try' was not declared in this scope
__try
^~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:157:39: error: 'GetExceptionCode' was not declared in this scope
__except ( GetExceptionCode() == EXCEPTION_IN_PAGE_ERROR
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:160:18: error: '__except' was not declared in this scope
)
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h: In static member function 'static tBOOL CShared::Read(const wchar_t*, tUINT8*, tUINT16)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:258:9: error: '__try' was not declared in this scope
__try
^~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:263:40: error: 'GetExceptionCode' was not declared in this scope
__except ( (GetExceptionCode() == EXCEPTION_IN_PAGE_ERROR)
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:266:18: error: '__except' was not declared in this scope
)
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h: In static member function 'static tBOOL CShared::Write(const wchar_t*, const tUINT8*, tUINT16)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:355:9: error: '__try' was not declared in this scope
__try
^~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:360:40: error: 'GetExceptionCode' was not declared in this scope
__except ( (GetExceptionCode() == EXCEPTION_IN_PAGE_ERROR)
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:363:18: error: '__except' was not declared in this scope
)
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h: In static member function 'static CShared::eLock CShared::UnLock(void*&)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:463:17: warning: unused variable 'l_hMutex' [-Wunused-variable]
HANDLE l_hMutex = NULL;
^~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h: In static member function 'static tBOOL CShared::Create_Name(wchar_t*, size_t, CShared::eType, const wchar_t*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:583:23: error: 'swprintf_s' was not declared in this scope
);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PShared.h:594:23: error: 'swprintf_s' was not declared in this scope
);
^
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\Common.h:52:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:33,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PFileSystem.h: In static member function 'static tBOOL CFSYS::Get_TextResource(const wchar_t*, const wchar_t*, wchar_t*, size_t)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PFileSystem.h:430:19: error: 'swprintf_s' was not declared in this scope
);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PFileSystem.h:438:99: error: 'wcsncpy_s' was not declared in this scope
wcsncpy_s(o_pBuffer, i_szBuffer, l_pValue, (l_dwSize > i_szBuffer) ? i_szBuffer : l_dwSize);
^
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\Common.h:54:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:33,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h: At global scope:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h:297:12: error: '__forceinline' does not name a type
static __forceinline tUINT32 Get_Processor()
^~~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h: In static member function 'static tBOOL CProc::Get_Process_Name(tWCHAR*, tINT32)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h:216:68: error: 'wcscpy_s' was not declared in this scope
wcscpy_s((wchar_t*)o_pName, i_iMax_Len, l_pProcess_Name);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h: In static member function 'static tBOOL CProc::Get_Process_Name(tACHAR*, tINT32)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h:238:32: error: 'rsize_t' was not declared in this scope
strcpy_s(o_pName, (rsize_t)i_iMax_Len, "Unknown:Error");
^~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PProcess.h:238:67: error: 'strcpy_s' was not declared in this scope
strcpy_s(o_pName, (rsize_t)i_iMax_Len, "Unknown:Error");
^
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\Common.h:56:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:33,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In constructor 'CJournal::CJournal()':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:93:110: error: 'wcscpy_s' was not declared in this scope
wcscpy_s(m_pTypes_Description[IJournal::eLEVEL_TRACE], FJOURNAL_DESCRIPTION_MAX_LENGTH, L"INFO : ");
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'virtual tBOOL CJournal::Initialize(const wchar_t*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:170:28: error: 'swprintf_s' was not declared in this scope
);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'virtual tBOOL CJournal::Log(IJournal::eLevel, IJournal::hModule, const char*, const char*, tUINT32, const wchar_t*, ...)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:313:34: error: 'swprintf_s' was not declared in this scope
);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:338:34: error: 'swprintf_s' was not declared in this scope
);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:254:33: warning: unused parameter 'i_hModule' [-Wunused-parameter]
IJournal::hModule i_hModule,
^~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:255:33: warning: unused parameter 'i_pFile' [-Wunused-parameter]
const char *i_pFile,
^~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'virtual tBOOL CJournal::Register_Thread(const wchar_t*, tUINT32)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:443:41: warning: unused parameter 'i_pName' [-Wunused-parameter]
tBOOL Register_Thread(const tXCHAR *i_pName, tUINT32 i_dwThreadId)
^~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:443:58: warning: unused parameter 'i_dwThreadId' [-Wunused-parameter]
tBOOL Register_Thread(const tXCHAR *i_pName, tUINT32 i_dwThreadId)
^~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'virtual tBOOL CJournal::Unregister_Thread(tUINT32)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:449:37: warning: unused parameter 'i_dwThreadId' [-Wunused-parameter]
tBOOL Unregister_Thread(tUINT32 i_dwThreadId)
^~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'virtual tBOOL CJournal::Register_Module(const wchar_t*, void**)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:455:41: warning: unused parameter 'i_pName' [-Wunused-parameter]
tBOOL Register_Module(const tXCHAR *i_pName, IJournal::hModule *o_hModule)
^~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'DWORD CJournal::Copy_Bufer(BOOL)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:543:115: error: 'memcpy_s' was not declared in this scope
memcpy_s(m_pWrite_Buffer, FJOURNAL_FILE_BUFFER_LENGTH * sizeof(wchar_t), m_pJournal_Buffer, l_dwResult);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h: In member function 'BOOL CJournal::Remove_Old_Journals(wchar_t*, DWORD, const wchar_t*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:613:108: error: 'swprintf_s' was not declared in this scope
swprintf_s(m_pJournal_Buffer, FJOURNAL_FILE_BUFFER_LENGTH, L"%s\\*.%s", i_pFolder, i_pExtension);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:624:79: error: 'wcscpy_s' was not declared in this scope
wcscpy_s(l_pFileName, MAX_PATH, l_tFind_Info.cFileName);
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PJournal.h:648:56: error: 'wcscpy_s' was not declared in this scope
wcscpy_s(l_pFileName, MAX_PATH, L"9999");
^
In file included from C:/dev/qt/pkg/libP7Client_v5.6/Shared/UDP_NB.h:22:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:35,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h: At global scope:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h:42:9: error: 'addrinfoW' does not name a type
typedef addrinfoW tADDR_INFO;
^~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h: In function 'tBOOL PEnumIpsHlp(const char*, CBList<sockaddr_storage*>*)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h:134:62: error: 'getaddrinfo' was not declared in this scope
if (0 == getaddrinfo(i_pHost, l_pPort, &l_tHint, &l_pInfo))
^
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h:163:29: error: 'freeaddrinfo' was not declared in this scope
freeaddrinfo(l_pInfo);
^
In file included from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:37:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSystem.h: In static member function 'static tBOOL CSys::Get_Host_Name(tACHAR*, size_t)':
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSystem.h:55:56: error: 'strcpy_s' was not declared in this scope
strcpy_s(o_pName, i_szName, "Unknown:Error");
^
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp: In member function 'eClient_Status CClBaical::Init_Sockets(wchar_t**, tINT32)':
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:260:9: error: 'tADDR_INFO' was not declared in this scope
tADDR_INFO *l_pInfo = NULL;
^~~~~~~~~~
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:260:21: error: 'l_pInfo' was not declared in this scope
tADDR_INFO *l_pInfo = NULL;
^~~~~~~
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:261:21: error: 'l_pNext' was not declared in this scope
tADDR_INFO *l_pNext = NULL;
^~~~~~~
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:262:21: error: expected ';' before 'l_tHint'
tADDR_INFO l_tHint;
^~~~~~~
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:264:17: error: 'l_tHint' was not declared in this scope
memset(&l_tHint, 0, sizeof(l_tHint));
^~~~~~~
In file included from C:/dev/qt/pkg/libP7Client_v5.6/Shared/UDP_NB.h:22:0,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\CommonClient.h:35,
from C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:24:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h:57:76: error: 'GetAddrInfoW' was not declared in this scope
o_Res)
^
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:297:18: note: in expansion of macro 'GET_ADDR_INFO'
if (0 == GET_ADDR_INFO(l_pAddr, l_pPort, &l_tHint, &l_pInfo))
^~~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h:59:52: error: 'FreeAddrInfoW' was not declared in this scope
#define FREE_ADDR_INFO(i_Info) FreeAddrInfoW(i_Info)
^
C:\dev\qt\pkg\libP7Client_v5.6\Sources\ClBaical.cpp:330:13: note: in expansion of macro 'FREE_ADDR_INFO'
FREE_ADDR_INFO(l_pInfo);
^~~~~~~~~~~~~~
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h: At global scope:
C:/dev/qt/pkg/libP7Client_v5.6/Shared/Platforms/Windows_x86/PSocket.h:176:14: warning: 'tBOOL PEnumIps(CBList<sockaddr_storage*>*)' defined but not used [-Wunused-function]
static tBOOL PEnumIps(CBList<sockaddr_storage*> *io_pList)
^~~~~~~~
Sources\CMakeFiles\p7.dir\build.make:90: recipe for target 'Sources/CMakeFiles/p7.dir/ClBaical.cpp.obj' failed
mingw32-make[2]: *** [Sources/CMakeFiles/p7.dir/ClBaical.cpp.obj] Error 1
CMakeFiles\Makefile2:132: recipe for target 'Sources/CMakeFiles/p7.dir/all' failed
mingw32-make[1]: *** [Sources/CMakeFiles/p7.dir/all] Error 2
Makefile:134: recipe for target 'all' failed
mingw32-make: *** [all] Error 2
I'm stuck at this point. With another strsafe headers from msvc's folders errors in unresolved references to header files occur again and I don't know how to solve this problem. P7 documentation has instructions only about VS building. How to build the library for use in my project?

Errors compiling boost example of ssl client

I'm trying to compile the boost example from http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp . For some reason I'm getting the following errors and I don't know how to fix them:
ssl_client.cpp:37:25: error: ‘boost::asio::ssl::verify_context’ has not been declared
ssl_client.cpp: In constructor ‘client::client(boost::asio::io_service&, boost::asio::ssl::context&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)’:
ssl_client.cpp:27:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_mode’
ssl_client.cpp:27:29: error: ‘verify_peer’ is not a member of ‘boost::asio::ssl’
ssl_client.cpp:28:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_callback’
ssl_client.cpp:31:5: error: ‘async_connect’ is not a member of ‘boost::asio’
ssl_client.cpp: In member function ‘bool client::verify_certificate(bool, int&)’:
ssl_client.cpp:48:54: error: request for member ‘native_handle’ in ‘ctx’, which is of non-class type ‘int’
ssl_client.cpp: In function ‘int main(int, char**)’:
ssl_client.cpp:143:68: error: no matching function for call to ‘boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(boost::asio::ssl::context_base::method)’
ssl_client.cpp:143:68: note: candidates are:
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: boost::asio::ssl::basic_context<Service>::basic_context(boost::asio::io_service&, boost::asio::ssl::context_base::method) [with Service = boost::asio::ssl::context_service]
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: candidate expects 2 arguments, 1 provided
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&)
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: no known conversion for argument 1 from ‘boost::asio::ssl::context_base::method’ to ‘const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&’
I'm currently compiling with the following line:
g++ -I /usr/include/boost -Wall -o main ssl_client.cpp -lboost_system
And I recently installed boost through:
sudo apt-get install libboost-all-dev
I'm sure there's an easy fix, does anyone know what I'm doing wrong?
========================================================================
Update:
I've now tried compiling with:
g++ -I /usr/include/boost -Wall -o main ssl_client.cpp -lboost_system -lcrypto -lssl -lpthread
but I'm still getting the following errors:
ssl_client.cpp:37:25: error: ‘boost::asio::ssl::verify_context’ has not been declared
ssl_client.cpp: In constructor ‘client::client(boost::asio::io_service&, boost::asio::ssl::context&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)’:
ssl_client.cpp:27:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_mode’
ssl_client.cpp:27:29: error: ‘verify_peer’ is not a member of ‘boost::asio::ssl’
ssl_client.cpp:28:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_callback’
ssl_client.cpp:31:5: error: ‘async_connect’ is not a member of ‘boost::asio’
ssl_client.cpp: In member function ‘bool client::verify_certificate(bool, int&)’:
ssl_client.cpp:48:54: error: request for member ‘native_handle’ in ‘ctx’, which is of non-class type ‘int’
ssl_client.cpp: In function ‘int main(int, char**)’:
ssl_client.cpp:143:68: error: no matching function for call to ‘boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(boost::asio::ssl::context_base::method)’
ssl_client.cpp:143:68: note: candidates are:
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: boost::asio::ssl::basic_context<Service>::basic_context(boost::asio::io_service&, boost::asio::ssl::context_base::method) [with Service = boost::asio::ssl::context_service]
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: candidate expects 2 arguments, 1 provided
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&)
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: no known conversion for argument 1 from ‘boost::asio::ssl::context_base::method’ to ‘const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&’
Fixed it! It was because apt-get was giving me boost version 1.46 and I needed version 1.48. I did the following to fix it:
apt-get purge libboost-all-dev
and
apt-get install libboost1.48-all-dev
Thanks to: http://spencernusbaum.me/blog.php#106

Make Error Compiling Armadillo 4.300.8

I am trying to compile the newest version of the Armadillo Linear Algebra library (4.300.8) and am running into the following errors when running make after cmake . runs successfully.
Scanning dependencies of target armadillo
[100%] Building CXX object CMakeFiles/armadillo.dir/src/wrapper.cpp.o
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp: In function ‘hid_t arma::arma_H5Dopen(hid_t, const char*, hid_t)’:
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:890:43: error: too many arguments to function ‘hid_t H5Dopen1(hid_t, const char*)’
/usr/include/H5Dpublic.h:145:14: note: declared here
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp: In function ‘hid_t arma::arma_H5Dcreate(hid_t, const char*, hid_t, hid_t, hid_t, hid_t, hid_t)’:
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:900:83: error: too many arguments to function ‘hid_t H5Dcreate1(hid_t, const char*, hid_t, hid_t, hid_t)’
/usr/include/H5Dpublic.h:143:14: note: declared here
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp: In function ‘herr_t arma::arma_H5Eset_auto(hid_t, H5E_auto1_t, void*)’:
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:950:54: error: invalid conversion from ‘hid_t {aka int}’ to ‘H5E_auto1_t {aka int (*)(void*)}’ [-fpermissive]
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:950:54: error: invalid conversion from ‘H5E_auto1_t {aka int (*)(void*)}’ to ‘void*’ [-fpermissive]
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:950:54: error: too many arguments to function ‘herr_t H5Eset_auto1(H5E_auto1_t, void*)’
/usr/include/H5Epublic.h:216:15: note: declared here
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp: In function ‘herr_t arma::arma_H5Eget_auto(hid_t, herr_t (**)(void*), void**)’:
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:955:54: error: invalid conversion from ‘hid_t {aka int}’ to ‘herr_t (**)(void*) {aka int (**)(void*)}’ [-fpermissive]
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:955:54: error: invalid conversion from ‘herr_t (**)(void*) {aka int (**)(void*)}’ to ‘void**’ [-fpermissive]
/home/user/Desktop/armadillo-4.300.8/src/wrapper.cpp:955:54: error: too many arguments to function ‘herr_t H5Eget_auto1(herr_t (**)(void*), void**)’
/usr/include/H5Epublic.h:212:15: note: declared here
make[2]: *** [CMakeFiles/armadillo.dir/src/wrapper.cpp.o] Error 1
make[1]: *** [CMakeFiles/armadillo.dir/all] Error 2
make: *** [all] Error 2
I am using gcc version 4.7.3 and running Ubuntu 12.04.
Thanks!
It looks like the HDF5 library is causing problems. Uninstall the HDF5 library, and then reinstall Armadillo.
Another option is to update your system to Ubuntu 14.04. The previous Ubuntu LTS release (12.04) is ancient by open-source standards.

C++ compile issue

meme#ubuntu:~/Data$ g++ UDPEchoServer.cpp PracticalSocket.cpp -o udpskserv -lsocket -lnsl -mt
I trying to compile at my compiler ubuntu and i receive this error
cc1plus: error: unrecognized command line option ‘-mt’
May i ask what is -mt , i try google but can't find any information.
If I try omit the -mt parameter i get this error
PracticalSocket.cpp: In constructor ‘SocketException::SocketException(const string&, bool)’:
PracticalSocket.cpp:33:38: error: ‘strerror’ was not declared in this scope
PracticalSocket.cpp: In function ‘void fillAddr(const string&, short unsigned int, sockaddr_in&)’:
PracticalSocket.cpp:47:32: error: ‘memset’ was not declared in this scope
PracticalSocket.cpp: In member function ‘void Socket::setLocalPort(short unsigned int)’:
PracticalSocket.cpp:119:42: error: ‘memset’ was not declared in this scope
PracticalSocket.cpp: In static member function ‘static short unsigned int Socket::resolveService(const string&, const string&)’:
PracticalSocket.cpp:153:32: error: ‘atoi’ was not declared in this scope
PracticalSocket.cpp: In member function ‘void UDPSocket::disconnect()’:
PracticalSocket.cpp:291:40: error: ‘memset’ was not declared in this scope
Both std::memset and std::strerror are declared in the <cstring> header, you need to #include that one.
And GCC does not have a -mt option.

Compiling C++ for Python using Swig

I have successfully generated the .py and .cpp files needed using:
swig -c++ -python sf_c_api.i
but now I'm trying to make the shared object (.so) and I'm getting swamped with errors.
g++ -Wall -g -fPIC -I/usr/include/python2.6 -c atob.c fish.c maby_swap.c pwd_file.c pwd.c setup_fish.c shs.c sf_c_api.cpp sha1.cpp sf_c_api_wrap.cpp
Can anyone make heads or tails of this g++ output?
In file included from /usr/include/python2.6/Python.h:8,
from sf_c_api_wrap.cpp:149:
/usr/include/python2.6/pyconfig.h:1038:1: warning: "_XOPEN_SOURCE" redefined
<built-in>: warning: this is the location of the previous definition
In file included from /usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/postypes.h:42,
from /usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h:42,
from /usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/string:42,
from /usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/stdexcept:39,
from sf_c_api_wrap.cpp:3024:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:143: error: ‘::btowc’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:148: error: ‘::fwide’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:149: error: ‘::fwprintf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:150: error: ‘::fwscanf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:153: error: ‘::mbrlen’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:154: error: ‘::mbrtowc’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:155: error: ‘::mbsinit’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:156: error: ‘::mbsrtowcs’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:159: error: ‘::swprintf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:160: error: ‘::swscanf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:162: error: ‘::vfwprintf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:166: error: ‘::vswprintf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:170: error: ‘::vwprintf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:174: error: ‘::wcrtomb’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:185: error: ‘::wcsrtombs’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:195: error: ‘::wctob’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:196: error: ‘::wmemcmp’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:197: error: ‘::wmemcpy’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:198: error: ‘::wmemmove’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:199: error: ‘::wmemset’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:200: error: ‘::wprintf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:201: error: ‘::wscanf’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:205: error: ‘::wcsstr’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:206: error: ‘::wmemchr’ has not been declared
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar: In function ‘wchar_t* std::wcsstr(wchar_t*, const wchar_t*)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:223: error: invalid conversion from ‘const wchar_t*’ to ‘wchar_t*’
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:223: error: initializing argument 1 of ‘wchar_t* std::wcsstr(wchar_t*, const wchar_t*)’
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar: In function ‘wchar_t* std::wmemchr(wchar_t*, wchar_t, size_t)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:227: error: invalid conversion from ‘const wchar_t*’ to ‘wchar_t*’
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/cwchar:227: error: initializing argument 1 of ‘wchar_t* std::wmemchr(wchar_t*, wchar_t, size_t)’
In file included from /usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/string:42,
from /usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/stdexcept:39,
from sf_c_api_wrap.cpp:3024:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h: In static member function ‘static int std::char_traits<wchar_t>::compare(const wchar_t*, const wchar_t*, size_t)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h:330: error: ‘wmemcmp’ was not declared in this scope/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h: In static member function ‘static const wchar_t* std::char_traits<wchar_t>::find(const wchar_t*, size_t, const wchar_t&)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h:338: error: initializing argument 1 of ‘wchar_t* std::wmemchr(wchar_t*, wchar_t, size_t)’
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h: In static member function ‘static wchar_t* std::char_traits<wchar_t>::move(wchar_t*, const wchar_t*, size_t)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h:342: error: ‘wmemmove’ was not declared in this scope
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h: In static member function ‘static wchar_t* std::char_traits<wchar_t>::copy(wchar_t*, const wchar_t*, size_t)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h:346: error: ‘wmemcpy’ was not declared in this scope
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h: In static member function ‘static wchar_t* std::char_traits<wchar_t>::assign(wchar_t*, size_t, wchar_t)’:
/usr/gcc/4.4/lib/gcc/i386-pc-solaris2.11/4.4.4/../../../../include/c++/4.4.4/bits/char_traits.h:350: error: ‘wmemset’ was not declared in this scope
/../include/c++/4.4.4/bits/char_traits.h:338: error: invalid conversion from ‘const wchar_t*’ to ‘wchar_t*’
I found a solution.
The problem is that under solaris:
If -D_XOPEN_SOURCE_EXTENDED=1, g++ cannot compile even an empty body
that #includes <iostream>. If it's undefined, then gcc cannot compile
C code.
[source]
and from /usr/include/python2.6/pyconfig.h:
/* Define to activate Unix95-and-earlier features */
#define _XOPEN_SOURCE_EXTENDED 1
Removing the XOPEN definitions fixed my problem.