![](/img/trans.png)
[英]Apache Cross Compilation Error ./gen_test_char: cannot execute binary file
[英]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.