используя libcxx на windows используя clang-cl - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь скомпилировать следующий код и пытаюсь связать с libc ++. Lib

int main()
{
   int x = -1;

   // Some code
   try {
      if (x < 0)
      {
         throw x;
      }
   }
   catch (int x ) {
   }

   return 0;
}

Скомпилировать CMD: clang-cl -Xclang -stdlib = libc ++ / MD / EHs c / c test. cpp LINK CMD: lld-link / NODEFAULTLIB test.obj libc ++. lib

Но это дает ошибку компоновщика:

lld-link: error: <root>: undefined symbol: mainCRTStartup
lld-link: error: undefined symbol: _CxxThrowException
>>> referenced by test.obj:(main)

lld-link: error: undefined symbol: __CxxFrameHandler3
>>> referenced by test.obj:(.xdata)
>>> referenced by test.obj:(.xdata)

lld-link: error: undefined symbol: const type_info::`vftable'
>>> referenced by test.obj:(int `RTTI Type Descriptor')

Я могу понять символ mainCRTStartup, мне нужно дать msvcrt.lib, но какая библиотека clang предоставляет определение для _CxxThrowException? Я не хочу использовать vcruntime et c.

...