Hi again,<div><br></div><div>I am regularly building my small STL-enabled C++ project using Mingw64 on Windows x64 and the program runs fine (it builds and runs fine on x64 Linux too).</div><div><br></div><div>Then I got brave and decided to try out Clang, because I'd eventually like to take a look at the quality of the generated code, and then did the following:</div>
<div><br></div><div>1. Set CC to clang.</div><div>2. Set CXX to clang++.</div><div>3. Run cmake and let it figure out that its using Clang on Windows.</div><div>4. Build and realize that the link doesn't work because CMake pulls in the wrong libraries (per default it uses Microsoft naming conventions: foo.lib instead of libfoo.a).</div>
<div>5. Search good old Google and find this VERY helpful article: 
<a href="http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/42398">http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/42398</a> </div><div>6. Fix CMake as per the above.</div><div>7. Build and realize that the CMake pulls in the right libraries but still a torrent of errors are reported:</div>
<div><br></div><div><div>..\libBackend.a(Backend.cpp.obj):fake:(.rdata$ZTIN10Braceless07BackendE+0xffffffffff6e88a0): Cannot get section contents - auto-impo</div><div>rt exception</div><div>..\libBackend.a(Backend.cpp.obj):fake:(.data+0xfffffffffffffd00): Cannot get section contents - auto-import exception</div>
<div>..\libDriver.a(Setup.cpp.obj):fake:(.text$ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs+0xffffffffffffb34d): Cannot get section contents - auto-import exception</div><div>..\libDriver.a(Setup.cpp.obj):fake:(.text$ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs+0xffffffffffffb42e): Cannot get section contents - auto-import exception</div>
<div>..\libDriver.a(Setup.cpp.obj):fake:(.text$ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs+0xffffffffffffb458): Cannot get section contents - auto-import exception</div><div>..\libDriver.a(Setup.cpp.obj):fake:(.text$ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs+0xffffffffffffb59a): Cannot get section contents - auto-import exception</div>
<div>..\libDriver.a(Setup.cpp.obj):fake:(.text$ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs+0xffffffffffffb5c5): Cannot get section contents - auto-import exception</div><div>..\libDriver.a(Setup.cpp.obj):fake:(.text$ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSsS2_EET0_T_S4_S3_+0xffffffffffff6203): Cannot get section contents - auto-import exception</div>
</div><div><br></div><div>Is it because Clang does not support the Mingw64 ABI?   I was under the impression that Clang DID support the Mingw32/64 toolchains, but perhaps it is only the 32-bit version?</div><div><br></div>
<div><div><br></div><div>Cheers,</div><div>Mikael</div>-- Love Thy Frog!<br>
</div><div><br></div>