ITranslationUnit 和 IASTTranslationUnit 接口分别表示单个 C/C++ 源文件的翻译单元和 AST。
有没有办法获取整个 C++ 项目的 AST,或者我是否需要从主文件的 AST 开始,浏览包含指令并为每个源单元生成单独的 AST?
谢谢。
我无法使用 CDT 在 Eclipse (Photon) 中设置观察点。
根据这个关于在 CDT 中设置内存断点的问题的答案,应该能够通过执行以下操作来设置观察点:
Run > Toggle Watchpoint。但是,无论我做什么,菜单项“切换观察点”始终被禁用(灰显)。
我遇到 O_DIRECT 问题。我尝试将它与 一起使用open(),但出现如下错误:
error: O_DIRECT undeclared (first use in this function)
Run Code Online (Sandbox Code Playgroud)
我包括<fcntl.h>
我搜索了/usr/include/目录O_DIRECT,它存在于x86_64-linux-gnu/bits/fcntl-linux.h. 我尝试包含此文件,但随后出现此错误:
error: #error Never use <x86_64-linux-gnu/bits/fcntl-linux.h> directly; include <fcntl.h> instead.
Run Code Online (Sandbox Code Playgroud)
我正在新安装的 Ubuntu 20.04 系统上的 Eclipse CDT 项目中尝试所有这些。
我在Windows下开发,并使用Eclipse和CDT开发C++应用程序.
现在,对于构建管理,我可以创建一个普通的C++项目,Eclipse将完全管理构建(使用适当的参数调用g ++编译器),或者我可以创建一个Managed Make C++项目,Eclipse将管理Makefile,然后在Makefile上调用make (在构建项目时),这反过来将完成构建过程.
使用这些方法之一而不是其他方法有什么好处吗?
编辑:我不是在谈论Managed Make vs Standard Make,而是我在谈论Make vs Eclipse.昨天我尝试在一个不包含Make的系统上编译eclipse下的C++项目,并且项目编译得很好,这意味着eclipse可以完全依靠自己来管理构建,这使得原始问题成为焦点:我是否需要使?; 我可以单独使用eclipse.
那是我的问题......
作为我最近提出的另一个问题的后续问题,我意识到我的问题是我不知道如何在Eclipse CDT项目属性中包含Apple'框架',以便它们在编译时被拾取和链接.
这导致包含此形式无法解决:
#include <OpenCL/cl.h>
Run Code Online (Sandbox Code Playgroud)
实际路径的位置如下:
/System/Library/Frameworks/OpenCL.framework/Versions/A/Headers
Run Code Online (Sandbox Code Playgroud)
并且cmd行选项将是(如果我手动编译):
-framework OpenCL
Run Code Online (Sandbox Code Playgroud)
总结:如何让Eclipse从项目属性中看到我想要的框架?
任何帮助高度赞赏!
我正在尝试使用GCC在Windows 7上运行Eclipse CDT(64位eclipse).当我第一次使用GDB时(这本身就是一个挑战),在调试模式下运行程序是我获得输出的唯一方法.正常运行它没有给出任何控制台输出.经过几个小时的谷歌搜索,我发现如果我在eclipse中添加了C:/ cygwin/bin到我的环境路径,我可以在正常运行程序时得到输出.然后我在调试模式下运行它,没有输出.我测试了几次,以确保添加导致问题的路径.这是我运行的程序,
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
那么我如何才能使普通模式和调试模式都工作,为什么我必须首先包含该路径(它已经在我的cygwin路径中,为什么CDT需要它?)?另外,为什么如果我添加一个路径到我的运行配置,它也会被添加到我的调试配置?
我试图在ubuntu 12.04中的eclipse中运行以下代码,但它一直给我错误.你能告诉我为什么会这样吗?谢谢.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
符号'std'无法解析符号'cout'无法解析符号'endl'无法解析
对于给定位置的现有Eclipse CDT项目,我们还可以在该给定位置找到文件.project和.cproject.有没有办法将这些文件存储在完全分离的位置?
我是c ++编程的新手,今天我正尝试使用CImg保存图像。CImg是C ++模板图像处理库。
我写的基本代码是(请原谅任何语法错误,作为我代码的复制部分):
#include "CImg.h"// Include CImg library header.
#include <iostream>
using namespace cimg_library;
using namespace std;
const int screen_size = 800;
//-------------------------------------------------------------------------------
// Main procedure
//-------------------------------------------------------------------------------
int main()
{
CImg<unsigned char> img(screen_size,screen_size,1,3,20);
CImgDisplay disp(img, "CImg Tutorial");
//Some drawing using img.draw_circle( 10, 10, 60, RED);
img.save("result.jpg"); // save the image
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是我不能运行我的程序,因为它说:
Invalid Parameter - 100%
'gm.exe' is not recognized as an internal or external command,
operable program or batch file.
This application has requested the Runtime …Run Code Online (Sandbox Code Playgroud) 我有一台装有mingw的Windows8计算机,它在c:\ mingw中安装了Eclipse可以成功编译程序,但是它认为行包含的错误在编译时可以正常进行。Eclipse找不到库本身。
当我第一次使用CDT组件在eclipse中构建项目时,它会在使用对象的每个#include和每一行上显示错误。
例:
#include <iostream>
using namespace std;
int main() {
cout << "hello\n";
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显示了include,using和cout <<行上的错误。我可以通过以下方法消除错误:project-> properties C ++ / General Preprocessor Include然后在providers选项卡上,我可以检查“ CDT Build output parser”并按照下面的第一个答案所述修复错误,即向上检查。但这仅适用于该项目。我每次都要这样做。如何在每次构建新项目而无需重新配置每个项目时让Eclipse仅仅接受标准C ++?
通过进入项目设置并添加目录,我已经能够停止包含中的错误:
c:/ bin / mingw / lib / gcc / include ...
这样就使使用对象的错误仍然存在。
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main() {
string s = "this is a test.";
regex e("est");
smatch m;
Run Code Online (Sandbox Code Playgroud)
带有正则表达式的行仍显示错误:即使代码已编译且可识别正则表达式包含,“无法解析正则表达式类型”。
此外,在安装了Mingw的运行Windows 8.1的另一台计算机上,eclipse不会调试。是否有一些有关如何将Eclipse CDT连接到库的文档?
eclipse-cdt ×10
c++ ×6
eclipse ×5
breakpoints ×1
build ×1
c ×1
cimg ×1
console ×1
gcc ×1
gdb ×1
linux ×1
macos ×1
mingw ×1
ubuntu ×1
watchpoint ×1