繁体   English   中英

Clang编译:“无法执行二进制文件”

[英]Clang compilation : "Cannot execute binary file"

我是 clang++ 编译器标志的新手。 我有一个关于编译的问题。 这是我的 cmd:

clang++ -I ../llvm-project/llvm/include -I ../llvm-project/clang/include 
  -I ../llvm-project/build/tools/clang/include -I ../llvm-project/build/include 
  -O3 -c $(llvm-config-7 --cxxflags) 
  projectToTestHeadersBuilding.cpp -o projectToTestHeadersBuilding

我收到错误:

./projectToTestHeadersBuilding: cannot execute binary file: Exec format error

执行后我有projectToTestHeadersBuilding文件。 但我无法运行可执行文件。 你能帮我了解如何获得可执行文件,以便我可以使用./projectToTestHeadersBuilding运行它吗?

在您的初始命令中,您使用-c标志使 clang 输出目标文件 这是编译程序的一部分,但不是完整的可执行文件,为了获得最终的可执行文件,您必须执行链接步骤,通常与其他目标文件。

一个简单的编译可以这样完成:

clang++ projectToTestHeadersBuilding.cpp -c -o projectToTestHeadersBuilding.o
clang++ projectToTestHeadersBuilding.o -o projectToTestHeadersBuilding
./projectToTestHeadersBuilding

通常我们不需要明确地传递所有你已经传递的-I标志。 如果您的设置需要它们,请将它们添加到我上面包含的命令中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM