编译 C++使用 g++ 进行编程
我在 Windows 上的 g++ 上编译 C++ 程序时遇到问题。我的程序由以下文件组成:一个 cpp 文件、两个头文件和一个 MASM 格式的 asm 文件。我尝试使用以下命令编译 x64 PE 文件:
g++ test.asm test.cpp -o test.exe
我收到以下异常: 无法识别文件格式;视为链接描述文件。
有人能指出我正确的方向吗?提前致谢!
I am having issues compiling my C++ program on g++ on Windows. My program is comprised of of the following files: one cpp file, two header files, and an asm file in MASM format. I tried using the following command to compile the x64 PE file:
g++ test.asm test.cpp -o test.exe
I am getting the following exception:
file format not recognized; treating as linker script.
Could someone point me in the right direction? Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
汇编器有不同的方言。 MSVC使用MASM,而GCC使用气体。
如果您的
.ASM
file的格式不理解GCC,请尝试使用其他汇编程序,例如 jwasm , uasm , sasm 或 nasm> nasm coff对象文件(例如JWASM -COFF -WIN64 TEST.ASM -FO test.o
),然后使用GCC将C ++程序与之链接。There are different dialects of assembler. MSVC uses MASM while GCC uses GAS.
If your
.asm
file's format isn't understood by GCC try a different assembler like JWasm, UASM, SASM or NASM to compile it to COFF object file (e.g.jwasm -coff -win64 test.asm -Fo test.o
) and then use GCC to link your C++ program with it.