Articles of eclipse cdt

Eclipse CDT – 如何将Linuxpath映射到Windowspath?

我们有一个为Linux环境编写的C代码项目,但是我们也希望能够查看和编辑Eclipse for Eclipse上的代码,并parsing标题。 我们面临的问题是很多头文件都包含在Linux格式的绝对path中,例如: #include "/path/to/custom/header.h" 我希望能够做的是有Eclipse CDT地图: /path/to/custom/ – > C:\path\to\custom\ 这可能吗?

Eclipse CDT:Symbol'cout','map','vector','size_t'等无法parsing

有很多这方面的post,我已经尝试应用已经为别人工作的解决scheme,但仍然不适合我。 首先,在Linux下使用Eclipse Indigo,gcc-4.7.1,cx11激活和Gentoo Linux的c ++项目,一切正常。 我的项目使用一个家庭build立的静态库。 我对一些模板类声明做了一些修改。 然后,我的图书馆里出现了一些意想不到的“不能解决的问题”。 我所做的是重build库的索引,清理项目并重build它。 它编译好像它已经习惯的修改之前和索引重build之前,但'不能解决'仍然在这里。 好的,我试着看看我的主要项目是否build立。 有一个从图书馆没有解决的名字 。 所以我重build了主要的项目索引,在这里, 所有的标准关键字在每个地方都被强调为“无法parsing” ,因为它find了数以千计的未parsing的名字,所以没有编译的可能。 我试图清理和重build,在项目属性中添加许多包含path: -I/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/plugin/include -I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/algorithm -I/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include -I/usr/include -I/usr/include/linux -I/usr/local/include 这并没有改变。 '索引/search未解决的function'发现: algorithm,cassert,cmath,cstdlib,fstream,iostream,map,set,sstream,string,元组,实用程序 我尝试明确添加包含path的algorithm。 但是这并没有改变。 在我的.cpp开头,我有一个using namespace std; 。 如果我添加std:: before例如set ,它不会改变。 std::之后的自动完成不提供例如set 。 当然,我试图closures/重新打开Eclipse,但没有更多的成功。 有任何线索吗? 编辑:我已经replace我的.metadata备份,它似乎再次工作。 不过,问题的根源仍然不得而知。 由于大多数.metadata文件是二进制文件,我无法调查。

使用cdt eclipse获取C程序的数组下标

Iam试图用eclipse CDT来实现一个使用java的C程序的缓冲区溢出问题。 通过给出一个常数值作为数组下标,其工作正常,如我所料。 请参阅示例代码: CASTArraySubscriptExpression exprsn = (CASTArraySubscriptExpression)astName.getParent().getParent(); String size = exprsn.getSubscriptExpression().toString(); System.out.println("Size : " + size); 使用这个代码,能够检测下面代码的数组下标值: int a[10]; a[12] = 4;//Here it detect the buffer overrun problem. 但是,如果我给这样的: int a[10]; int i = 21; a[i] = 4; 在这里,不能够检测到索引i的值。 如何使用CDT检测值?

如何在Eclipse CDT中将静态库链接到静态库

我有3个项目A,B和C. A是通用的,并且由B使用,并且最终C.B是更特别的,并且现在仅被C使用。 现在,因为我想尽可能多地重用A和B,所以我想都是静态库。 所以我把A和B链接到静态库和C链接到一个可执行文件,但是当我想链接C时,它给了我一些A函数的undefined reference错误。 所以我添加了库A到链接器选项来解决这个问题,但没有帮助。 所以我想:当我想部署B的时候,我也将不得不部署A来连接。 有没有办法将静态库A链接到静态库B,所以我不必部署2个文件? 如果是这样的话,我怎么用Eclipse CDT实现这个function,因为我无法find一个为存档器定义额外目标的地方。 加成 我正在linux下工作,但事情也应该在Windows下工作。 但主要是我需要一个Linux的解决scheme,继续与发展。 编辑 现在我通过将A和B链接到静态库中来“解决”了问题,然后使用剩余的* .o文件将它们链接到可执行文件中,但是我不认为这是好的。

在Eclipse中debuggingncurses应用程序

我想在Eclipse CDT中debugging一个ncurses应用程序。 我已经设法让控制台输出redirect到一个真正的terminal使用这个职位 。 然而,terminal的刷新率似乎已经被破坏 – 它不断的对文本进行垃圾处理,而且似乎没有对input作出反应(难以用闪烁来判断)。 我认为这是一个Eclipse的configuration问题,而不是一个gdb的问题,因为如果我手动debugging它在这里所描述的,这不会发生,如果我试图在Eclipse中“正常”debugging,控制台输出快速滚动同样的方式。 我有terminal设置sleep 100000000以避免Bash战斗的控制台input,所以我不认为这是任一。 有没有人成功地做到了这一点?

在debugging时,单个线程应用程序是否会在内核之间跳转?

我正在尝试使用Eclipse CDT来debugging多体系结构的OSS程序(沙箱configuration下的DAS u-boot引导装载程序 – 它生成标准的linux可执行文件)。 我喜欢它如何呈现的东西(精彩的GUI工作!)。 例如,它显示了这样的线程, Thread [1] 9480 [core:2] (Suspend:Step) 当我运行程序时,“核心号码”会改变(在Intel i3上运行时,值在0和3之间)。 这最初导致我相信debugging器向我展示了应用程序的不同处理上下文(即,我认为它在所有4个处理器内核上运行)。 我花了很多时间试图安装“多核gbddebugging器”并对其进行configuration,但最后不得不承认失败。 当我回到问题的一个周末后,我注意到,虽然“核心号码”会改变,线程ID没有(此外,我找不到(在源代码中) fork() (或类似的)系统调用正在从)。 我目前的理论是,该程序确实是作为一个单线程应用程序运行,但出于我不明白的原因,喜欢在我的系统的不同处理器内核之间跳跃。 我的问题如下: 我目前的理论是正确的吗? 如果是这样的话,我可以期待在debugging环境之外运行__any__单线程应用程序的这种行为吗? 从优化angular度来看,在内核之间移动时会有一些上下文切换,即使是单线程的应用程序也是如此。 是否有任何实际的好处跳跃?

从用户terminal运行Eclipse时发生错误,而不是从root运行

我已经在我的家目录( ~/eclipse )下安装了eclipse(很好,解压缩),并且它工作正常(就像你可以对eclipse所说的那样)。 今天它完全疯狂,一直抛出“堆栈溢出”的错误。 (顺便说一句,你知道现在是完全不可能的谷歌“堆栈溢出”的问题?猜猜看你得到… 🙂 所以我下载了最新版本,并把它安装在/opt/eclipse这一次。 当试图从我的用户terminal运行它时,我得到了大量的错误: (eclipse:28336):GLib-GObject-WARNING **:无效(NULL)指针实例 (eclipse:28336):GLib-GObject-CRITICAL **:g_signal_connect_data:断言`G_TYPE_CHECK_INSTANCE(instance)'失败 (eclipse:28336):Gtk-CRITICAL **:gtk_settings_get_for_screen:assertion`GDK_IS_SCREEN(screen)'failed (eclipse:28336):Gtk-WARNING **:没有设置GtkWindow的屏幕; 在使用窗口之前,您必须始终设置GtkWindow的屏幕 等等 从根terminal运行它工作得很好(事实上,启动速度比以前的版本要快得多)。 这样做没有帮助: xhost +localhost xhost +<my-user> 这也不是: chroot -R root:root /opt/eclipse chroot -R my-group:my-user /opt/eclipse 任何build议如何解决这个问题? 编辑:好奇地,再次打开它,这一次在我的家里dir也没有帮助。 显示放弃并没有多大帮助

Eclipse的cdt远程构build和远程debugging在不同的服务器上

有类似的问题,但我找不到这个具体的情况: 计算机A – Linux构build服务器 计算机B – Linuxdebugging服务器 电脑C – Windows,我的本地comp。 我有ac / c + +项目-eclipse cdt。 我可以编辑计算机C上的源文件,在计算机A上构build并传输到计算机B,然后通过本地项目进行debugging? 我如何使用Eclipse的现有工具/configuration来做到这一点?

Eclipse CDT Linux ClearCase SCM Adapter插件安装问题

我在Eclipse上遇到了一个愚蠢的小问题。 我试图在Eclipse(Helios SR1)CDT Linux 64位中安装Rational ClearCase SCM适配器。 我在这里下载了ClearCase插件。 我试了SCM适配器版本7.0.0.2和7.5.0.0。 在这两种情况下,我得到这个错误? 无法完成安装,因为某些依赖项不可满足com.rational.clearcase.linux.feature.group [7.0.0.20081031A]无法安装在此环境中,因为其筛选器不适用。 我的清晰版本与适配器不完全相同。 这是为什么? 在这种情况下,我可以在哪里下载SCM适配器v 7.1? linuxcc7$ ct -version ClearCase version 7.1.0.00 (Tue Nov 11 00:18:47 EST 2008) (7.1.D081110) @(#) MVFS version 7.1.0.0 (Mon Oct 13 20:06:10 2008) built at $Date: 2010-11-12.14:19:20 (UTC) $ cleartool 7.1.0.0 (Sat Oct 25 22:52:22 2008) db_server 7.1.0.0 (Sat Oct […]

Eclipse项目通过环境variables链接资源

我在设置Eclipse C ++项目时遇到了问题。 我需要在不同的目录中链接不同的目录,而且在我的环境中,我需要的源码实际上有时会移动(例如,当我总是想要当前位于/aaa/bbb/v1.2.3/src目录中的最新版本的子系统时/aaa/bbb/v1.2.3/src )。 我总是通过linux环境variables知道我想要的源的位置,比如$SYSTEM1_LATEST_ROOT 。 没有这个,我需要更新我所有的项目,每当我应该从一个新的位置select来源。 我无法find将环境variables包含在链接资源的path中的方法。 包含目录完美工作(这是在我的.cproject文件中定义),例如( .cproject ): <option id="…" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> … <listOptionValue builtIn="false" value="${SYSTEM1_LATEST_ROOT}/src"/> … </option> 对于链接的资源(在.project文件中定义),我知道我可以使用pathvariables,但这些variables只在Eclipse内部定义,我发现没有办法让它们基于环境variables,但只是相对于我自己的项目位置不是我想要做的。 总之,我想链接在基于环境variables的位置的源代码。 variables名是常量,但源的实际位置(通过环境variables已知)不是。 使用相对于项目的path的工作示例。 这不是我想要的(.project): <linkedResources> <link> <name>System1_src</name> <type>2</type> <locationURI>PARENT-6-PROJECT_LOC/src</locationURI> </link> </linkedResources> 我想做的非工作例子(.project): <linkedResources> <link> <name>System1_src</name> <type>2</type> <locationURI>${SYSTEM1_LATEST_ROOT}/src</locationURI> </link> </linkedResources> 有什么build议么?