将Visual Studio Makefile转换为Linux Makefile
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将Visual Studio Makefile转换为Linux Makefile,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1250字,纯文字阅读大概需要2分钟。
内容图文
![将Visual Studio Makefile转换为Linux Makefile](/upload/InfoBanner/zyjiaocheng/950/8d270eb7036a4083b2ba4c3b55fea8eb.jpg)
我是makefile的新手,最近刚刚创建了一个可用于c项目的makefile.它有两个cpp文件和一个h文件.我正在尝试将我的文件转换为可在linux中工作,但似乎无法弄清楚如何.有任何想法吗?
EXE = NumberGuessingGame.exe
CC = cl
LD = cl
OBJ = game.obj userInterface.obj
STD_HEADERS = header.h
CFLAGS = /c
LDFLAGS = /Fe
$(EXE): $(OBJ)
$(LD) $(OBJ) $(LDFLAGS)$(EXE)
game.obj: game.cpp $(STD_HEADERS)
$(CC) game.cpp $(CFLAGS)
userInterface.obj: userInterface.cpp $(STD_HEADERS)
$(CC) userInterface.cpp $(CFLAGS)
#prepare for complete rebuild
clean:
del /q *.obj
del /q *.exe
解决方法:
有关Linux上make的深入处理,请参见GNU make.
有一些区别.二进制文件没有扩展名
EXE = NumberGuessingGame
编译器是gcc,但不必命名,因为CC是内置的,所以LD也是如此.但是由于您的文件名为.cpp,所以合适的编译器是g,它是make中的CXX.
目标文件的扩展名为.o
OBJ = game.o userInterface.o
STD_HEADERS = header.h
编译器标志
CXXFLAGS = -c
/ Fe的等效项只是-o,未指定为LDFLAGS,但在链接器命令行中有详细说明.
通常,您使用编译器进行链接
$(EXE): $(OBJ)
$(CXX) $(LDFLAGS) $(OBJ) -o $(EXE)
您无需指定用于创建对象的规则,它们是内置的.只需指定依赖项
game.o: $(STD_HEADERS)
userInterface.o: $(STD_HEADERS)
德尔被称为rm
clean:
rm -f $(OBJ)
rm -f $(EXE)
重要的一点是,缩进是一个制表符,没有空格.如果您有空格,make将抱怨
*** missing separator. Stop.
或其他一些奇怪的错误.
内容总结
以上是互联网集市为您收集整理的将Visual Studio Makefile转换为Linux Makefile全部内容,希望文章能够帮你解决将Visual Studio Makefile转换为Linux Makefile所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。