c++ - 用于 g++ 编译的 C++ 文件的用户定义扩展

标签 c++ c++11 g++4.9

出于某种原因,我想使用扩展名.cxy 来用作c++ 源代码。例如,文件名为 abc.cxy。但是,我的 g++(4.9.2 版本)无法编译。 我编译为:

g++ -o abc.oxy abc.cxy

提示为:g++:警告:conn.cxy:链接器输入文件未使用,因为链接未完成 并且,目标文件 abc.oxy 没有生成。 然而,如果我将扩展名作为 .cxx,并编译为:

g++ -o abc.oxy abc.cxx

它正在生成 abc.oxy 除了 .c、.cpp、.cxx 之外,我是否不允许使用扩展名?

最佳答案

尝试 g++ -o abc.oxy -x c++ abc.cxy

g++ 无法从您的自定义后缀中推断出正确的语言,它无法推断出任何源代码,它会作为目标文件直接传递给链接器。

Am I not allowed to use extension other than .c, .cpp, .cxx?

如果您希望 GCC 自动推断源语言,则不是。约定已到位,因此我们不必明确说明,但您仍然可以使用 -x 选项。

关于c++ - 用于 g++ 编译的 C++ 文件的用户定义扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40740506/

相关文章:

c++ - 这是 C++11 正则表达式错误我还是编译器?

c++ - scanf() 奇怪的行为!

c++ - 钞票程序

c++ - 如何在类声明中获取类的 decltype

c++ - 我如何在 Linux 中显示堆栈跟踪?

c++11 - 在代码中本地化 g++ 编译选项

c++ - 使 shared_ptr 失去内存所有权

opencv - 使用vector <vector <KeyPoint >>进行OpenCV,SIFT计算

pointers - std::add_pointer 与经典指针

c++ - 在 CDT 项目中使用不同的 C++ 编译器的正确方法是什么?