Clang 编译:"Cannot execute binary file"
Clang compilation : "Cannot execute binary file"
我是 clang++ 编译器标志的新手。我有一个关于编译的问题。这是我的命令:
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 输出成为 object file。这是已编译程序的一部分,但不是完整的可执行文件,为了获得最终的可执行文件,您必须执行链接步骤,通常与其他目标文件。
可以这样简单编译:
clang++ projectToTestHeadersBuilding.cpp -c -o projectToTestHeadersBuilding.o
clang++ projectToTestHeadersBuilding.o -o projectToTestHeadersBuilding
./projectToTestHeadersBuilding
一般来说,我们不需要显式地传递您已经传递的所有那些 -I
标志。如果您的设置需要它们,请将它们添加到我上面包含的命令中。
我是 clang++ 编译器标志的新手。我有一个关于编译的问题。这是我的命令:
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 输出成为 object file。这是已编译程序的一部分,但不是完整的可执行文件,为了获得最终的可执行文件,您必须执行链接步骤,通常与其他目标文件。
可以这样简单编译:
clang++ projectToTestHeadersBuilding.cpp -c -o projectToTestHeadersBuilding.o
clang++ projectToTestHeadersBuilding.o -o projectToTestHeadersBuilding
./projectToTestHeadersBuilding
一般来说,我们不需要显式地传递您已经传递的所有那些 -I
标志。如果您的设置需要它们,请将它们添加到我上面包含的命令中。