CodeLite 构建简单主要问题

CodeLite building simple main issue

提问人:BrooklynBoy 提问时间:3/10/2023 最后编辑:BrooklynBoy 更新时间:7/1/2023 访问量:185

问:

所以我用新的 g++ 编译器安装了 MSYS2。使用新编译器更新 CodeLite 属性,并尝试仅使用 main(){return 0;} 构建 simpla 应用程序

获取控制台输出中的下一个错误:控制台输出错误

C:/msys64/mingw64/bin/mingw32-make.exe -j20 -e -f  Makefile
----------Building project:[ TestingProject - Debug ]----------
mingw32-make[1]: Entering directory 'D:/Work/Workspaces/CodeLite/TestingProject'
C:/msys64/mingw64/bin/g++.exe  -c  "D:/Work/Workspaces/CodeLite/TestingProject/main.cpp" -Wall  -o ../build-Debug/TestingProject/main.cpp.o -I. -I.
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
mingw32-make[1]: *** [TestingProject.mk:90: ../build-Debug/TestingProject/.d] Error 2
mingw32-make[1]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [TestingProject.mk:86: MakeIntermediateDirs] Error 2
Assembler messages:
Fatal error: can't create ../build-Debug/TestingProject/main.cpp.o: No such file or directory
mingw32-make[1]: *** [TestingProject.mk:99: ../build-Debug/TestingProject/main.cpp.o] Error 1
mingw32-make[1]: Leaving directory 'D:/Work/Workspaces/CodeLite/TestingProject'
mingw32-make: *** [Makefile:5: All] Error 2
=== build completed successfully (0 errors, 0 warnings) ===

当我尝试使用 g++ 命令在终端中构建相同的程序时,一切正常,程序成功构建。

有人可以建议出了什么问题吗?

尝试使用CodeLite和g ++编译简单的程序(g++.exe(Rev10,由MSYS2项目构建)12.2.0)

Windows MakeFile G++ MSYS2 Codelite

评论

0赞 HardcoreHenry 3/10/2023
欢迎来到 stack overflow -- 当提出这样的问题时,请将确切的错误消息和相关代码以文本形式剪切并粘贴到问题中。不要添加文字图片或文字图片链接,因为这些会阻止人们回答您的问题。
0赞 BrooklynBoy 3/10/2023
好的,对不起,我现在要纠正
0赞 HardcoreHenry 3/11/2023
看起来您对 shell make 用于评估配方的问题......您可能需要编辑 makefile 并添加以查看它使用的 shell。您可以在此处查看有关此的更多信息。如果做不到这一点,请尝试将失败的 makefile 目标/配方添加到您的问题中,这可能会帮助人们帮助您。$(info SHELL=$(SHELL))

答:

1赞 BrooklynBoy 3/13/2023 #1

所以,我已经为此奋斗了很长时间:

转到设置。 单击“环境变量”。 将打开一个默认设置的窗口。只需添加行“ SHELL = cmd.exe ”

解决方法是将 SHELL=cmd.exe 添加到 CodeLite 中的环境变量。

评论

0赞 Community 3/21/2023
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
1赞 HolyBlackCat 7/1/2023
这很奇怪。 我相信默认使用 CMD。它是默认使用的。mingw32-makemakesh