Linux下Eclipse&CDT&g++编译生成的文件无法执行

FFFrog 2006-06-04 07:08:49
最近开始接触Linux,想在Linux下学习C++编程。之前在Win下比较习惯Eclipse,用起来也挺顺。

现在转到Ubuntu平台下,用Eclipse 3.2 RC6 + CDT 3.1。自己写了一个简单的程序,也写了相应的makefile,编译可以通过,在C/C++ Projects中也看到了生成的.o文件和Binary文件,但是却无法运行!用“Run”的话控制台就直接显示"terminated",没有任何输出(我的程序中写了用cout输出的语句),用"Debug"的话,在进入Debug视图之前就会有几句控制台信息出现,进去之后如果直接点Resume的话,程序不顾我设置的断点就直接运行完毕了,之后控制台中一个字也看不到,没有我程序中写好的输出,连之前哪几句控制台信息也不见了。如果进入Debug视图之后点Step Over的话,点两次程序就运行完毕了,仍然没有预计的输出,但得到如下控制台信息:
No symbol "new" in current context.
No source file named calc1_7.cpp.
No source file named calc1_7.cpp.
Stopped due to shared library event
No source file named calc1_7.cpp.
No source file named calc1_7.cpp.
Stopped due to shared library event
Stopped due to shared library event
Single stepping until exit from function main,
which has no line number information.
Single stepping until exit from function _Z7calc1_7Pii,
which has no line number information.

从信息的内容看来,系统似乎没有找到我的源代码。在Debug视图中实际上是显示了calc1_7.cpp的代码的,但是没有看到运行指针指向代码中的任一行。变量表中也没有显示任何内容。

我从终端进入工程所在目录,用ls能显示出绿色的没有后缀的calc1_7文件(应该就是可执行文件吧?),但是我敲入calc1_7命令之后,终端却显示bash: calc1_7: command not found!这又是怎么回事呢?

刚才,我怀疑是文件名的问题,把所有文件名中的"_"都去掉了(如calc1_7.cpp改成calc.cpp)再进行编译,现在程序运行的结构还是和之前一样,倒是Debug视图中真的看不见我的源代码了!而Debug之后返回的控制台信息中却不见了"No source file named"之类的信息。奇怪!


我怀疑是自己的代码写得有问题,又导入《Thinking in C++》中的源代码(自带makefile),编译运行。运行的结果是:有些程序能够正常执行和输出,而另一些也象我的程序一样直接terminated了!而似乎对其中所有的程序进行Debug,都不能进入Debug视图,而是弹出一个名为Launching的窗口,里面有这样的错误信息:
Failed to set program arguments, environment or working directory.
Unable to set working directory: mi_cmd_env_cd: Usage DIRECTORY
Unable to set working directory: mi_cmd_env_cd: Usage DIRECTORY
Unable to set working directory: mi_cmd_env_cd: Usage DIRECTORY
《Thinking in C++》里的代码,我在Windows+Eclipse下已经用过好久,都很正常的,不知为何现在也出现问题!


我还是初学Linux和C++,现在这个问题搞得我很郁闷。原本在Windows下挺顺利的事情,究竟是因为什么原因而变成这样呢?请大家帮忙看看,谢谢啦!
...全文
1285 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReverseEngineering 2006-12-23
  • 打赏
  • 举报
回复
只懂点WIN32没玩过LINUX
happytang 2006-06-05
  • 打赏
  • 举报
回复
看一下cdt的说明文档,http://liangqiushi.bokee.com/4945350.html
而且eclipse+cdt很不稳定,设置也很麻烦,
命令:在当前目录下用./xxx,或者用整个路径/。。 /。。/xx
benfire 2006-06-05
  • 打赏
  • 举报
回复
我从终端进入工程所在目录,用ls能显示出绿色的没有后缀的calc1_7文件(应该就是可执行文件吧?),但是我敲入calc1_7命令之后,终端却显示bash: calc1_7: command not found!这又是怎么回事呢?
-----------------------------------

Linux 默认方式是不在当前的目录下搜索文件的,所以你在当前目录下执行程序,必须用路径,例如:

在目录 /home/my 里面有一个可执行程序 file,输入 ./file,回车,则运行当前目录下的 file 程序
或者用全部路径名 /home/my/file 也可以

还是先学学 Linux 的一些基本操作吧
内容概要:本文研究了一种周期感知LightGBM预测与NSGA-Ⅱ优化耦合的建筑群能源系统协同调度方法,旨在提升建筑群能源系统的低碳经济性和运行效率。该方法首先利用周期感知的LightGBM模型对建筑群的能源负荷与可再生能源出力进行高精度时序预测,充分挖掘数据中的周期性规律,显著提高预测准确性;随后,结合多目标优化算法NSGA-Ⅱ,构建协同调度模型,综合考虑经济成本、碳排放和能源利用率等多个目标,求解得到一组帕累托最优调度方案,实现多目标间的均衡优化。研究通过Python编程实现了完整的预测与优化流程,并在实际场景中验证了所提方法在降低系统运行成本和减少碳排放方面的有效性。; 适合人群:具备一定Python编程基础,从事电力系统、能源管理、智能优化或机器学习相关领域的研究人员与工程技术人员,尤其适合关注多目标优化与时间序列预测融合应用的硕士、博士研究生及科研工作者。; 使用场景及目标:①应用于建筑群、园区等多主体能源系统的协同调度与低碳优化;②实现对光伏、负荷等具有强周期性特征的时间序列数据进行精准预测;③解决能源调度中经济性、环保性等多目标相互冲突的优化问题,获得兼顾各方需求的调度策略。; 阅读建议:此资源以实际代码实现为核心,建议读者在学习过程中结合Python代码,重点理解周期特征提取、LightGBM模型构建、NSGA-Ⅱ算法应用及多目标优化结果分析等关键环节,并尝试在不同场景下复现和调整参数,以深化对方法原理与工程应用的理解。
内容概要:本文围绕“考虑储能和可再生能源消纳责任制的售电公司购售电策略”展开研究,采用遗传算法构建优化模型,旨在帮助售电公司在电力市场化环境下制定科学合理的购售电决策。研究综合考虑了储能系统的运行特性、可再生能源出力的不确定性以及国家对可再生能源消纳的强制性考核要求,构建了一个融合经济性、合规性与风险控制的多目标优化框架。通过Python编程实现算法求解,对不同场景下的购电组合、储能调度策略及收益情况进行仿真分析,验证了所提模型在提升售电公司经济效益和履行社会责任方面的有效性与实用性,为其在复杂市场环境中的运营决策提供了理论支持和技术工具。; 适合人群:具备一定电力系统基础知识和Python编程能力,从事电力市场、能源管理或优化算法研究的研发人员、高校研究生及行业分析师。; 使用场景及目标:①为售电公司设计满足可再生能源消纳考核要求的购售电策略;②研究储能系统在电力市场交易中的经济调度与价值实现;③学习遗传算法在复杂多目标能源优化问题中的建模与实现方法。; 阅读建议:此资源以复现科研论文为目标,强调算法实现与策略分析的结合,建议读者在学习过程中重点关注目标函数的设计、约束条件的处理以及遗传算法参数的调优,并动手运行代码以加深对模型收敛性与策略有效性的理解。

24,850

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧