日食编译和制作文件

Eclipse compilation and make file

本文关键字:文件 编译      更新时间:2023-10-16

我是Eclipse的新手。 尽管尽了最大努力,我还是让它编译并运行 你好世界计划。我现在正在尝试引入我编写的一个简单的程序,该程序适用于MS Visual Studio 2010。

reddit learnprogramming的一位用户说我的make文件中缺少引号,但我使用的是自动make文件。 我不知道如何编写自己的代码,宁愿处理程序的其他 50 个错误。 Eclipse make 文件帮助页面对我来说是技术性的。

我认为 Eclipse 没有尝试以正确的顺序构建文件,但我找不到如何更改构建顺序或如何将其指向正确的文件。当我在Eclipse中创建文件时,我点击了"New Class",然后只是复制并粘贴到旧文件中。左边距中没有红色或黄色标志,表示存在任何问题。带有 main 方法的文件是 Tier.cpp,但我相信它试图从 Player.cpp 开始。

编译器错误非常用户友好且易于阅读:

01:31:42 **** Incremental Build of configuration Debug for project VanillaWoW ****
make all
Building file: ../VanillaWoWSource/Player.cpp  
Invoking: Cross G++ Compiler
g++ -I"C:cppboost_1_66_0boost" -I"C:cygbin" 
-I"C:cyglibgccx86_64-pc-cygwin6.4.0include" 
-I"C:cyglibgccx86_64-pc-cygwin6.4.0includec++"
-I"C:cyglibgccx86_64-pc-cygwin6.4.0includec++backward"
-I"C:cyglibgccx86_64-pc-cygwin6.4.0includec++x86_64-pc-cygwin"
-I"C:cygusrinclude" -I"C:cygusrincludew32api"
-I"c:cppboost_1_66_0" -I"C:cyglibgccx86_64-w64-mingw326.4.0includec++"
-O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"VanillaWoWSource/Player.d"
-MT"VanillaWoWSource/Player.o"
-o "VanillaWoWSource/Player.o" "../VanillaWoWSource/Player.cpp"  
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'  
/bin/sh: -c: line 1: syntax error: unexpected end of file  
make: *** [VanillaWoWSource/subdir.mk:26: VanillaWoWSource/Player.o] Error 1  

我不明白为什么它会在我认为它还没有完全创建的对象文件的第 26 行抛出错误。 我不知道/bin/sh: -c 指的是什么,我也不知道它在哪个文件上点击了文件末尾。

完整代码位于: https://docs.google.com/document/d/185sOHxk3wKAnl6N0oCSvlJZB7WUTY8gEtZCsLIr1q0o/edit?usp=sharing

现在我格式化了您的错误消息,我可以看到问题:

-I"c:cppboost_1_66_0" -I"C:cyglibgccx86_64-w64-mingw326.4.0includec++"

请注意boost_1_66_0"- 尾随反斜杠转义引号字符,因此文本颜色变得不稳定。查看设置路径的位置,删除尾随反斜杠,或者更好的是,在整个过程中使用正斜杠。Windows会接受它们,你不会被神秘的逃生问题咬伤。

我不确定为什么设置C++对您来说如此困难。这可能与你使用Eclipse有关 - 它实际上更像是一个Java IDE,我建议使用为C++构建的东西。当我开始C++时,我用Code::Blocks编写,它对我来说效果很好。我建议切换到那个。

C++是比Java低级的语言。因此,可以说编程更加困难。尽管我确实认为您的问题首当其冲的原因更多是因为您编码的环境。