- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I detected a problem with MinGW ( GCC-like ) C++ compiler. It is a well known fact that Intel C++ compiler
is compatible with Microsoft C++ compiler on Windows platforms, and compatible with GCC C++ compiler
on Linux platforms.
Since I don't have a Linux platform I wonder if somebody could verify the following Test Case with
32-bit and 64-bit Intel C++ compilers for Linux. Some modifications related to '_WIN...' macros and
the '__w64' keyword are needed.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This option, among others, was not publicized as something to test during the period for accepting reports on the beta test.
I'm not even certain from your comments whether your argument may be that there should be an option to have the ICL 64-bit Windows integer data types named the same as in linux. In that case, either an L or LL suffix (or UL/ULL) should make 64-bit constants work.
Mingw compiler has improved significantly, but I spent several hours attempting myself to build an up to date version and gave up. I would have doubts whether they would succeed in catching up on the project to make it link-compatible with Visual Studio. I think cross platform source compatibility may be a stronger argument for this gcc-dialect option.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
[SergeyK] Thanks. I'll try it.
Mingw compiler has improved significantly, but I spent several hours attempting myself to build an up to date version and gave up.
[SergeyK] I agree that there are some "integration problems" and about 2 years agoit tooka couple of weeks
to complete theintegration.
I would have doubts whether they would succeed in catching up on the project to make it link-compatible with Visual Studio...
[SergeyK] Any libraries created with MinGW are compatible ( asignature '!
with libraries created withMicrosoft C++ compiler.
Here is a link to a screenshot that demonstrates how MinGW compiles sources from Visual Studio 2005:
http://software.intel.com/en-us/forums/showthread.php?t=97240&o=a&s=lr
Take a look at a Post #4.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor, Please take a look at a thread:
http://software.intel.com/en-us/forums/showthread.php?t=106134&o=a&s=lr
( Post #3 )
and I'll also provide a small example regarding detection of some issues with MinGW, Inteland Microsoft C++ compilers.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
[cpp]... template < class T, RTint iDataType > class TDataSet { public: ... T *m_ptData1D; ... }; template < class T, RTint iDataType > class TMatrixSet : public TDataSet< T, iDataType > { ... inline RTbool TransposeClassic( RTvoid ) { ... if( TDataSet< T, iDataType >::m_ptData1D == RTnull ) // V1 - MSC - OK MinGW - OK // if( m_ptData1D == RTnull ) // V2 - MSC - OK MinGW - Error ... }; ... }; ... [/cpp]
>> Compilation Error <<
------ Build started: Project: MgwTestApp, Configuration: Debug Win32 ------
Performing Makefile project actions
*** ScaLib Message: Compiling with MinGW v3.4.2 ***
*** ScaLib Message: Configuration - Desktop - _WIN32_MGW - DEBUG ***
In file included from ../../Include/CommonSet.h:22,
from Stdphf.h:110,
from MgwTestApp.cpp:11:
../../Include/MatrixSet.h: In member function `RTbool TMatrixSet
../../Include/MatrixSet.h:76: error: `m_ptData1D' undeclared (first use this function)
../../Include/MatrixSet.h:76: error: (Each undeclared identifier is reported only once for each function it appears in.)
MgwTestApp - 2 error(s), 0 warning(s)
>> Notes <<
MinGW C++ compiler is a very-strict C++ compiler compared to Microsoft and Borland C++ compilers.
I would rate Intel C++ compiler as a double-strict C++ compiler compared to Microsoft, MinGW and
Borland C++ compilers when a 'Warning Level' option '/W5' is used.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
[SergeyK] Thanks. I'll try it.
...
It works and here areresults ( lines 4, 5, 6, 7 ):
Instead of0xffffeeeeddddccccI used18446725308424768716.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page