Как использовать Clang для создания бинарного Windows - PullRequest
0 голосов
/ 29 сентября 2018

Я установил clang на мой компьютер с Windows 10.

$ clang --version
clang version 6.0.1 (tags/RELEASE_601/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin

С его помощью я могу скомпилировать исходные тексты на C и C ++ и сгенерировать объектные файлы, а также использовать lib.exe для их создания.

Когда пришло время связать его в двоичный файл, к моему удивлению, clang создает вывод lib / exp, а не исполняемый файл?

Почему clang считает, что он должен создавать библиотеку, а неисполняемый файл?

clang++  -oarmor XWin/main.o -lSDL2main -lpi -ldblunt -lsino -lbase -L. -L ../../src/sino -L MSWin/libs/SDL/lib ../../src/Chipmunk2D/build.release/x64/Release/chipmunk.lib MSWin/libs/OpenAL/lib/OpenAL32.lib -lSDL2 -lOpenGL32
   Creating library armor.lib and object armor.exp
LINK : fatal error LNK1561: entry point must be defined
clang++.exe: error: linker command failed with exit code 1561 (use -v to see invocation)

В UNIX clang будет по умолчанию создавать двоичные файлы, а не библиотеки?

1 Ответ

0 голосов
/ 29 сентября 2018

Проверьте эту ссылку - https://metricpanda.com/rival-fortress-update-27-compiling-with-clang-on-windows

В настоящее время существует два варианта Clang, которые работают в Windows: vanilla LLVM Clang и Clang / C2 с Microsoft Codegen.

...