草庐IT

add_item

全部标签

c++ - 铛 libTooling : How to find which header an AST item came out of?

在网上找到的clang工具示例总是在玩具示例上运行,这些示例通常都是非常简单的C程序。我正在构建一个对C++代码执行源到源转换的工具,这显然是一项非常非常具有挑战性的任务,但clang可以胜任这项任务。我现在面临的问题是,clang为任何使用STL的C++代码生成的AST非常庞大。例如,我有一些C++代码,clang++-ast-dump...|wc-l是67,018行可怕的AST官话!其中99%是标准库的东西,我打算在我的源到源元编程任务中忽略它们。所以,为了实现这一点,我想简单地过滤掉文件。假设我只想查看正在分析的项目header中的类定义(并忽略所有标准库header的内容),我

c++ - 有效 C++ : Item 52 and how to avoid hiding all normal operator new & delete versions

在Myer的EffectiveC++的第52项(自定义新的和删除的)的末尾,他讨论了如何在实现自定义版本时避免隐藏正常的新的和删除的版本,如下所示:Ifyoudeclareanyoperatornewsinaclass,you'llhideallthesestandardforms.Unlessyoumeantopreventclassclientsfromusingtheseforms,besuretomakethemavailableinadditiontoanycustomoperatornewformsyoucreate.Foreachoperatornewyoumakeava

c++ - boost::asio::ssl::context::add_verify_path

我想验证服务器的证书。我有一个boost::asio::ssl::context这成功验证了证书:context.load_verify_file("E:\\a\\windows\\Path\\to\\certificate\\9207bca9.0");但是,我不想明确指定用于验证证书的文件。我希望能够将它们放在一个目录中,并告诉上下文使用该文件夹中的文件来验证证书。所以我改为这样做:context.add_verify_path("E:\\a\\windows\\Path\\to\\certificate");验证不成功注意:文件名9207bca9.0:9207bca9是CA证书主题

c++ - cmake add_custom_command 失败,目标被删除

我正在使用CMake构建测试可执行文件。在构建过程中,我想运行可执行文件,它返回测试是否通过。如果没有,我希望构建失败。但是,当我使用add_custom_command(...POST_BUILD...)并使用Makefile生成器时,测试可执行文件将被删除(在这个问题中解释:WhydoesGNUmakedeleteafile).有没有办法让CMake将可执行文件视为.PRECIOUS,或者以其他方式更改CMakeLists.txt,以便在测试失败时不会删除可执行文件?作为引用,我的CMakeList.txt如下所示(根据实际情况进行了简化):add_executable(UnitT

c++ - 如何在qlistWidget中模拟双击item

如何在没有子类的情况下模拟双击QListWidget中的项目?当我向列表中添加新项目时,我希望该项目立即进入编辑模式。 最佳答案 voidQListWidget::editItem(QListWidgetItem*item)不是正确的方法吗? 关于c++-如何在qlistWidget中模拟双击item,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12741943/

c++ - 为什么我收到错误 : initializing argument 1 of 'Item::Item(int)' [-fpermissive] in Eclipse when I try to compile my C++ code?

我是C++的新手,在盯着它看了太久之后终于放弃了尝试编译它。编译器似乎出于某种原因拒绝了头文件中的构造函数原型(prototype)......我无法弄清楚它有什么问题。项目.h:#ifndefITEM_H_#defineITEM_H_classItem{public:Item(int);//ThislineiswhatEclipsekeepsflaggingupwiththeerrorinthetitlevirtual~Item();Item*getNextPtr();intgetValue();voidsetNextPtr(Item*);};#endif/*ITEM_H_*/在我的

c++ - CMake:包含 vs add_subdirectory:相对头文件路径

我有一个包含多个子目录的C++项目,例如src/CMakeLists.txtmain.cppmodule1/CMakeLists.txtcode.cppcode.hmodule2/CMakeLists.txtcode2.cpp似乎在cmake中处理这个问题的两种方法是在我的src/CMakeLists中使用add_subdirectory(module1)或include(module1).txt。我在某处读到,include使用被视为遗留/弃用。我的src/module1/CMakeLists.txt看起来像这样:include_directories(${CMAKE_CURRENT

c# - "add as link"选项发生了什么?

为什么是addanexistingfileasalink功能仅适用于托管项目?我不能在vcproj中使用相同的功能。是因为托管项目是为msbuild构建的,而vcproj文件不是吗? 最佳答案 添加为链接功能对于VC++项目(无论是否托管)不是必需的,因为VC++项目不要求所有源文件严格驻留在包含该项目的文件夹中。另一方面,C#项目确实有此要求。所以你可以说VC++总是将文件添加为链接并且从不复制它们。您为这种灵active付出的代价是必须创建与磁盘上的真实文件夹不对应的虚拟项目文件夹并自行管理它们。这种传统来自VC6,相信我很多C

c++ - 如何使用 Item Delegate 检测 QListView <-> QAbstractListModel 中的行选择?

我选择的QListView->QAbstractListModel似乎对内置选择支持为零。我必须从头开始编写所有内容吗?在UI中捕获选择事件,将模型项标记为已选中等?似乎没有开箱即用的支持。奇怪的是有一个QItemSelectionModel确实支持这个,但是你不能将它与QListView一起使用,因为它不是从QAbstract派生的......我的模型类是否应该使用多重继承来继承QItemSelectionModel和QAbstractListModel?否则我不知道如何才能避免自己重写这个功能。我的最终目标是让绘制我的项目的代理知道项目是否被选中,包括在paint和sizeHint

c++ - 将 CMake 变量传递给 ExternalProject_Add

我正在使用带有ExternalProject_Add的CMake构建外部库。我使用了答案here生成以下内容(捕获命令行输入到CMake以便将其传递给ExternalProject_Add命令):get_cmake_property(CACHE_VARSCACHE_VARIABLES)foreach(CACHE_VAR${CACHE_VARS})get_property(CACHE_VAR_HELPSTRINGCACHE${CACHE_VAR}PROPERTYHELPSTRING)if(CACHE_VAR_HELPSTRINGSTREQUAL"Nohelp,variablespecif