如何在Cygwin中禁用g++生成的扩展.exe
How to disable extension .exe generated by g++ in Cygwin?
在我的windows 8.1机器上,我尝试编译kprogram
g++ -o helloworld helloworld.cpp
然后创建一个名为"helloworle.exe"的可执行文件。这与我在windows 7机器上的Cygwin不一致,其中编译的可执行文件名为"helloworld"。如何消除由cygwing++生成的扩展?
我试图保持它们一致,所以在git中不会有两个相同的文件。谢谢!
是的,有可能。这里是一个链接,我的答案与Cygwin GCC相同的事情。它也适用于g++。
通过告诉链接器如何命名它的输出
$ echo -e "#include <iostream>nclass myClass { public: myClass() {
std::cout << "Hello here is my class.\n"; } };nint main(int nbargs, char *args[]) {
myClass *myInstance = new myClass();
}" | g++ -pipe -x c++ - -Wl,-oess2
这将产生一个ess
PE32/PE32+可执行文件,而不是一个ess.exe
。-pipe
选项指示GCC构建链不写临时文件,而是在阶段之间使用管道。-Wl,-o
选项抑制默认的--force-exe-suffix
。
CygWin gcc
suite 总是生成带有.exe
扩展名的可执行文件,因为这是它在Windows环境中运行它们的方式。
如果您查看<cygwin-base>bin
目录,您会发现它挤满了扩展名为.exe
的可执行文件。只有像zcat
这样的脚本文件没有它。
更有可能的是,扩展名似乎不存在的机器只是在文件资源管理器中关闭了扩展名。如果你进入cmd
然后在目录下运行dir
,你会看到它们
相关文章:
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 是否可以通过C++扩展强制多个python进程共享同一内存
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 终端不会为C++文件创建.exe文件吗
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 扩展光电二极管探测器以支持多个传感器
- 在Windows中以.exe的形式运行c++
- Visual Studio mkl_link_tool.exe链接错误
- C++中的VLA,扩展名为std=C++11
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- PrintWindow函数在notepad.exe中出错
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++返回 Numpy 数组的 Python 扩展模块
- 扩展可变参数模板中的变量名称
- 扩展C++生成的代码的模板参数类型名称
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- VSCode C++ 编译的exe感染了Win32:TrojanX-gen[Trj]
- Firefox 扩展中的无窗口嵌入式 exe
- 如何在Cygwin中禁用g++生成的扩展.exe
- 如何为Internet Explorer创建一个扩展作为Exe-Com服务器