Alexey Pavlov <[email protected]>
writes:
>> Now clang++ fails with Boost. Previously I was able to build this
>>
>> // File foo.cpp
>> #include <boost/thread>
>>
>>
>> with this command:
>>
>> clang++ -c -DBOOST_USE_WINDOWS_H -Ic:/apps/msys32/mingw32/include foo.cpp
>>
>> But now fails with conflicting declarations. Because of this I was not
>> able to reach the linking phase. If I have some free time I'll try
>> removing the dependency on boost::thread.
>>
>>
> Can you show me errors?
With the latest clang package, that has mingw32/include on its search
path (thanks!) the compile command for the file `foo.cpp' quoted above
is:
clang++ -c -DBOOST_USE_WINDOWS_H foo.cpp
and this is the output:
In file included from foo.cpp:1:
In file included from c:\apps\msys32\mingw32\bin/../include\boost/thread.hpp:13:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread.hpp:12:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread_only.hpp:15:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_data.hpp:11:
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_primitives.hpp:172:70:
error: conflicting types for 'GetProcAddress'
__declspec(dllimport) detail::farproc_t __stdcall
GetProcAddress(void *, const char *);
^
c:\apps\msys32\mingw32\bin/../i686-w64-mingw32/include\libloaderapi.h:135:29:
note: previous declaration is here
WINBASEAPI FARPROC WINAPI GetProcAddress (HMODULE hModule, LPCSTR lpProcName);
^
In file included from foo.cpp:1:
In file included from c:\apps\msys32\mingw32\bin/../include\boost/thread.hpp:13:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread.hpp:12:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread_only.hpp:15:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_data.hpp:11:
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_primitives.hpp:174:59:
error: functions that differ only in their return type cannot be overloaded
__declspec(dllimport) void * __stdcall
GetModuleHandleA(const char *);
^
c:\apps\msys32\mingw32\bin/../i686-w64-mingw32/include\libloaderapi.h:85:29:
note: previous declaration is here
WINBASEAPI HMODULE WINAPI GetModuleHandleA (LPCSTR lpModuleName);
^
In file included from foo.cpp:1:
In file included from c:\apps\msys32\mingw32\bin/../include\boost/thread.hpp:13:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread.hpp:12:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread_only.hpp:15:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_data.hpp:11:
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_primitives.hpp:178:31:
error: functions that differ only in their return type cannot be overloaded
int __stdcall GetTickCount();
^
c:\apps\msys32\mingw32\bin/../i686-w64-mingw32/include\sysinfoapi.h:76:27:
note: previous declaration is here
WINBASEAPI DWORD WINAPI GetTickCount (VOID);
^
3 errors generated.
and without -DBOOST_USE_WINDOWS_H :
clang++ -c foo.cpp
In file included from foo.cpp:1:
In file included from c:\apps\msys32\mingw32\bin/../include\boost/thread.hpp:13:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread.hpp:12:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/thread_only.hpp:15:
In file included from
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_data.hpp:11:
c:\apps\msys32\mingw32\bin/../include\boost/thread/win32/thread_primitives.hpp:133:54:
error: redeclaration of 'Sleep' cannot add 'dllimport' attribute
__declspec(dllimport) void __stdcall Sleep(unsigned long);
^
c:\apps\msys32\mingw32\bin/../include\boost/smart_ptr/detail/yield_k.hpp:63:29:
note: previous declaration is here
extern "C" void __stdcall Sleep( unsigned long ms );
^
1 error generated.
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce.
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Msys2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/msys2-users