C++编译clang错误多个输出文件

标签 c++ compiler-errors clang

我不明白为什么我不能用

编译我的程序
    g++ -std=c++0x main.cpp Sale.h iProduct.h -o w7

每次我尝试使用此命令进行编译时,我都会收到 clang 错误

    clang: error: cannot specify -o when generating multiple output files

该程序符合 a.out 标准,我知道我可以重命名 a.out 文件并继续使用,但我想知道为什么我会收到此错误以及我应该如何修复它。 谢谢

最佳答案

why I'm getting this error and how i should fix it may I ask why do the .h files affect it?

因为最近版本的gcc可以编译头文件, 示例:

g++ test.h -o out
file out
out: GCC precompiled header (version 014) for C++

在这种情况下,它 (gcc) 生成预编译文件 ( https://en.wikipedia.org/wiki/Precompiled_header )。

所以当你同时编译.cpp文件和header时, 它无法决定输出的是预编译头文件还是 elf 可执行文件。

关于C++编译clang错误多个输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33619046/

相关文章:

c++ - 使用 getLine 在 C++ 中读取 CSV 文件中的分隔列

C++:如何在不丢失 NUL 字符的情况下将 std::string 编码为 base64

c++ - 摆脱重载的提取运算符? (C++)

c++ - &token 之前预期的构造函数、析构函数或类型转换

compiler-errors - 在LAN中运行MPI群集程序时出错

java - 为什么我不能将数组直接输入到打印语句中?

macos - cmake 在 Macos Catalina 10.15 上构建失败

c++ - 注入(inject)的类名编译器差异

c++ - 是否允许三元运算符在 C++ 中计算两个操作数?

c++ - 在模板实例化期间重载查找