草庐IT

dynamic-programming

全部标签

c++ - MAC 操作系统 : dynamically linked library not found despite correct rpath

我有一个(相对)大的C++项目,它在ubuntu上编译和运行良好(使用cmake/catkin)。它在macos上编译得很好,但是当尝试启动可执行文件时,我收到错误消息:dyld:Librarynotloaded:.dylibReferencedfrom:/Reason:imagenotfound运行命令时:otool-l|grepLC_RPATH-A2我得到输出:cmdLC_RPATHcmdsize64path(offset12)cmdLC_RPATHcmdsize24path/sw/lib(offset12)cmdLC_RPATHcmdsize32path/usr/X11/lib(

c++ - Catch.hpp 单元测试 : How to dynamically create test cases?

我正在使用CATCHv1.1build14对我的C++代码进行单元测试。作为测试的一部分,我想检查代码中几个模块的输出。没有固定数量的模块;可以随时添加更多模块。但是,测试每个模块的代码是相同的。因此,我认为将测试代码放在for循环中是最理想的。事实上,使用catch.hpp,我已经验证了我可以在测试用例中动态创建部分,其中每个部分对应一个模块。我可以通过将SECTION宏包含在for循环中来做到这一点,例如:#include"catch.hpp"#include#include#include"myHeader.h"TEST_CASE("Moduletesting","[module

c++ - 获取 OpenCV 错误 : Insufficient memory while running OpenCV Sample Program: "stitching_detailed.cpp"

我最近开始使用OpenCV,目的是将大量图像拼接在一起以创建大型全景图。为了开始我的实验,我查看了OpenCV文件附带的示例程序,以了解如何实现OpenCV库。因为我对图像拼接很感兴趣,所以我直接找到了“stitching_detailed.cpp”。代码可以在以下位置找到:https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/cpp/stitching_detailed.cpp?rev=6856现在,这个程序完成了我需要它完成的大部分工作,但我遇到了一些有趣的事情。我发现对于15个可选投影变形器中的9个,我在尝试运

c++ - 将 bool R vector 传递给 C dynamic_bitset

将Rboolvector传递给C++dynamic_bitsetvector的最佳方法是什么?有没有一种方法可以使用指针和vector长度来构造一个dynamic_bitset对象,就像vector类一样?您会推荐使用Rcpp吗?感谢您的帮助和时间... 最佳答案 我只想创建dynamic_bitset像这样:#include#includeusingnamespaceRcpp;//[[Rcpp::export]]voidcreate_dynamic_bitset(LogicalVectorx){intn=x.size();boos

c++ - Qt "The program has unexpectedly finished."关闭

我有一个关于QML2(Qt5.2.1)的项目。似乎可以正常工作。但是当我在QtCreator的“应用程序输出”(底部的那个东西)中关闭正在运行的项目(ALT+F4或其他)时,在1-2秒,我收到以下消息:Theprogramhasunexpectedlyfinished.bla-bla-bla.execrashed这发生在发布和Debug模式中。我在调试下启动,但没有收到任何错误。我从最后一个析构函数开始一步一步地进行,直到返回1的returnapp.exec();。我的意思是除了这个-我没有看到任何错误。我应该为此担心吗?我可以知道此消息的原因吗?有没有办法获得更具体的消息?我尝试从c

c++ - 更好地处理 boost::program_options 中丢失/错误的键

有没有办法知道当像下面这样的调用失败时涉及到哪个键?boost::program_options::variables_mapvm;...intfoo_bar=vm["some_key"].as();如果键从映射中丢失,或者不能转换为int,我会得到一个相当无用的bad_any_cast,并且我不知道以下任何内容:涉及的关键储值,或者即使它存在。涉及的类型我找不到任何不涉及修改boostheader或将对上述内容的每次调用包装在try..catchblock中的解决方案。我认为这是一个常见问题,所以也许其他人知道更好的方法。 最佳答案

c++ - dynamic_cast 返回 NULL 但它不应该

我有以下类层次结构:classIStorage{[...]}Q_DECLARE_INTERFACE(IStorage,"ch.gorrion.smssender.IStorage/1.0")classISQLiteStorage:publicIStorage{Q_INTERFACES(IStorage)[...]}Q_DECLARE_INTERFACE(ISQLiteStorage,"ch.gorrion.smssender.ISQLiteStorage/1.0")classDASQLiteStorage:publicQObject,publicISQLiteStorage{Q_OBJ

c++ - boost program_options 接受最后一个标志后的所有值

有没有办法收集boost::program_options指定参数后的所有值?不过,我需要注意两个注意事项,我需要接受无法识别的参数,并且我需要接受可能包含破折号的值。我试过使用command_line_parser与parse_command_line进行比较,我可以得到无法识别的值或包含破折号的值,但不能同时得到两者。例子:./myprogIgnore1Ignore2--Accept1--AlsoAccept2--AcceptAll12-34我并不关心验证--AcceptAll是否是最后传递的标志;我只是在寻找为该标志之后的所有内容返回字符串vector的逻辑。

c++ - C++ eclipse 调试器出现以下错误。 'Launching program name' 遇到...启动命令 : gdb --version 时出错

我一直在解决调试器问题,但现在它变得太烦人了。我正在处理更复杂的程序,如果我不能调试我的程序,我就无处可去。有没有其他人能够在eclipse中解决这个问题?它适用于java,但不适用于我来自minGW的C++插件C++eclipse调试器出现以下错误。“启动程序名称”遇到问题。启动命令时出错:gdb--version 最佳答案 假设您使用的是Windows并安装了MinGW,您只需在MinGWbin文件夹中找到gdb可执行文件。这可以在Eclipse的“调试器”配置中的“主”选项卡上完成:

c++ - 如何避免 "dynamic initialization in unreachable code"警告?

我正在编写类似于以下内容的模板化函数*:templatevoidfoo(Tt1){/*commoncode*/if(v){inti=bar();/*...*/return;}else{/*...*/}/*morecommoncode*/}当我编译它并且foo被实例化时v设置为false,编译器说:warning:dynamicinitializationinunreachablecode现在,由于模板参数,代码无法访问;这应该是完全可以接受的。我怎样才能避免或抑制这个警告?我宁愿不完全禁止此类警告。注意事项:我不想对true和false进行不同的专门化,因为有一些通用代码,我不想重复,