返回

C++:我如何更改这个MaX文件,以便生成UNIX可执行文件而不是Windows可执行文件?

发布时间:2022-04-22 01:43:30 196
# golang

由于WineHQ Windows emulator与最新版本的MacOS操作系统不兼容,我不拥有或无法访问Windows的副本,也不能使用WineHQ Windows emulator1.

1:在写这篇文章的时候,它是MacOS Monterey。

我也尝试过使用Parallels Desktop运行Windows 11虚拟机,但它也会抱怨。我无法成功执行该程序,也无法使用该命令make在窗户上。

我也尝试过使用Windows Subsystem for Linux(WSL),但无法成功运行该应用程序。我遇到了几个错误代码,无法对BIOS设置进行必要的更改,因为我无法访问这些设置,因为我运行的是虚拟机,而不是Windows的Bootcamp版本。

我的问题可能有一个简单的解决方案,如果有,我将非常感谢您的建议和专业知识。为了在我的原生MacOS操作系统上编译程序,并创建一个运行正常的UNIX可执行文件,而不是Windows可执行文件,我想做任何需要的更改。

以下是makefile的内容:

# 'make'        build executable file
# 'make clean'  removes all intermediate (lex.yy.c and *.o) and executable files

# variables used in the following rules
LEX      = flex
CXX      = g++
CC       = gcc
RM       = rm

# generate debug information for gdb
CXXFLAGS = -g
CCFLAGS  = -g

parse.exe: lex.yy.o driver.o
    $(CXX) $(CXXFLAGS) -o parse.exe lex.yy.o driver.o

#     -o flag specifies the output file
#
#     The above rule could be written with macros as
#        $(CXX) $(CXXFLAGS) -o $@ $^

driver.o: driver.cpp parser.h parse_tree_nodes.h lexer.h
    $(CXX) $(CXXFLAGS) -o driver.o -c driver.cpp

#      -c flag specifies stop after compiling, do not link

lex.yy.o: lex.yy.c lexer.h
    $(CC) $(CCFLAGS) -o lex.yy.o -c lex.yy.c

lex.yy.c: exp-rules.l lexer.h
    $(LEX) -o lex.yy.c exp-rules.l

clean: 
    $(RM) *.o lex.yy.c parse.exe
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
下一篇
url-Flask-下载没有数据库的文件? 2022-04-22 00:52:09