我的项目中有一个文件,我需要使用外部工具进行编译,其输出是一对.c和.h文件.
什么是将其集成到Eclipse-CDT构建中的最佳方法?
我已尝试在"项目属性"下的"构建器"部分添加一些内容,其中包含混合结果.
谢谢
我们有一个顶级目录,其中包含许多不同项目的代码.我想创建一个Eclipse CDT项目,它只包含处理和编译特定项目所需的源代码.之前我使用过SlickEdit,在那里我只能导入一个源和标题列表.是否有可能在Eclipse中实现类似的功能?
更新1:我原来的帖子太长,模糊了真正的问题.我已经发现在调用Make时究竟是什么导致了"多个目标"错误.
更新2:我发现这个"多目标"错误是由GNU Make版本3.8.1引起的(参见here1和here2).GNU Make 3.8.1是与Cygwin一起发布的当前GNU Make.总结链接:旧的v3.8.0处理窗口路径很好,而较新的v3.8.1报告了Windows路径的错误(也许它是来自FSF的被动攻击性攻击?).
当您在Eclipse + CDT + Cygwin中启动一个没有外部包含/库的新项目时,一切都适合我.
一旦我尝试使用外部包含/库,我就会收到"多个目标"错误.
以下是在Windows + Eclipse + CDT + Cygwin上重现错误所需的步骤:
Eclipse提取了一个makefile.当make从外部库中看到新包含文件的Windows路径时,会发生错误:
# NOTE: Error happens when the first "C:/" occurs
src/main.d src/main.o: ../src/main.c C:/dir1/dir2/ExternalLibrary.h
Run Code Online (Sandbox Code Playgroud)
Make得到错误"Multiple targets"的原因是因为它看到了":",它是Make语法的一部分,用于声明目标.如果有两个":",则输出错误,因为它不知道如何处理"多个目标".
我无法手动编辑makefile,因为它们会立即重新生成并被覆盖[UPDATE:by Eclipse-CDT].鉴于我无法手动编辑makefile. …
我使用eclipse cdt并且我包含了一些文件.不幸的是我无法在我的eclipse项目中添加include路径,因为当eclipse开始索引新添加的包含时,eclipse总会崩溃.因此,我想关闭突出显示错误的功能.
我在哪里可以做到这一点?
我不知道这是一个错误,或者我是唯一一个面对这个,
在Eclipse CDT indigo中,创建一个新的C++可执行项目并在C++源文件夹中创建一个CPP文件.ie src/test.cpp
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
clock_t strt = clock();
int i = 2;
clock_t end = clock();
cout<<(end-strt)*1000.0f/CLOCKS_PER_SEC;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在看到CLOCKS_PER_SEC未解析,但项目编译成功并且运行正常.我在ubuntu 10.10 64位上.这是一个错误或一些设置搞砸了(索引器?)?
可以从一个项目导出设置并将其导入另一个项目.
但是,似乎只有"包含路径"和"符号"才能以这种方式移动到新项目中.
有没有可靠的方法来复制所有设置?特别是我想复制嵌入式ARM项目的链接器设置.
我不想手动复制设置,因为这是必须由一群人经常完成的事情.
毕竟,它确实在stddef.h和c ++ config.h中定义:
C++的config.h:
namespace std
{
typedef __SIZE_TYPE__ size_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
#ifdef __GXX_EXPERIMENTAL_CXX0X__
typedef decltype(nullptr) nullptr_t;
#endif
}
Run Code Online (Sandbox Code Playgroud)
STDDEF.H:
typedef __SIZE_TYPE__ size_t;
Run Code Online (Sandbox Code Playgroud)
因此,当文件执行时using namespace std,Eclipse CDT代码分析会混淆并说符号不明确.我不知道gcc是如何解决这个问题的,但是对于日食代码分析有什么建议吗?
运行或调试任何东西给我一个非常令人沮丧的"启动失败.找不到二进制"错误.我正在使用安装了CDT插件的Eclipse(具体来说,我安装了MinGW软件包).
我已经尝试将用户和系统PATH变量都设置为包含my(MinGW目录)/ bin
我还尝试在运行之前构建程序.
我还确保启用了项目设置下的PE Windows Parser.
我去了Project Properties> Run/Debug Settings> New> C/C++ Application> Environment> Select>,然后我选择了Path
我还尝试将主选项卡中的C/C++应用程序设置为通过构建程序生成的可执行文件,但是在构建程序时没有生成这样的文件.不过,我严重怀疑这是导致问题的原因.
我的选项用完了,问题仍然存在.还有什么需要做的?我究竟做错了什么?
当我查看MinGW的安装说明时,本教程将mingw基本软件包引用为安装MinGW后要安装的软件包.但是mingw base不适合我.相反,我看到mingw32基地.可能是64位程序Eclipse试图运行32位代码吗?那是怎么回事?如果这是问题,我该如何解决?
我发现2008-07-30报告了这个错误,它的状态仍然是"新".正如我从这个补丁 Eclipse(Version:Luna Release(4.4.0)Build ID:20140612-0600)中看到的那样,尝试使用"del"删除某些文件或cmd /c del- 两者都不正确.
如果Eclipse可以请求-rm如此处所述的命令,那么我将安装任何类UNIX命令应用程序作为问题解决方案.但是,如何为Win8添加"del"命令呢?
我试图从MinGW获取rm.exe,将其重命名为del.exe并放入路径.但后来的错误是"del:不能lstat`src/test.o':没有这样的文件或目录".来自cygwin64的rm.exe也没有错误,但也没有删除o文件 - 由于rm和del命令的语法不同,这是预期的.
我正在使用Eclipse CDT 4.5.2和Windows 7上安装的Eclipse Color Theme.问题是当我使用Eclipse Color Theme中的 "Sublime Text 2"主题时,内容辅助(Ctrl-Space菜单)中的第一项是不可读的那样的.有没有什么办法可以在不改变整体主题的情况下专门改变那种颜色?
eclipse-cdt ×10
eclipse ×6
c ×3
c++ ×3
windows ×2
color-scheme ×1
cygwin ×1
export ×1
makefile ×1
mingw32 ×1
syntax-error ×1
windows-8.1 ×1