草庐IT

dynamics-ax-2012

全部标签

c++ - 更改 .cpp 文件导致 Visual Studio 2012 重新编译不相关的文件

想知道是否有人知道如何解决这个问题;我有一个特定的.cpp文件,出于某种原因,每当我修改它(甚至只是添加一个空白字符)并构建项目时,都会导致重新编译许多其他不相关的.cpp文件(其中10-20个)。那个文件没有#include'在任何其他文件中(我从来没有直接#include.cpp文件,只有.h)并且没有我能想到的其他依赖项-在我看来,VisualStudio是误解依赖树,或者有一些与其构建过程相关的损坏的内部状态。我试过删除.sdf,.suo,ipch/,.user,和object文件目录,但不久后问题又出现了。如预期的那样,修改任何其他.cpp文件只会导致重新编译该文件。我对MS

c++ - 测试 Visual Studio 2012 控制台应用程序的输入/输出

我正在开发一个程序,它从标准输入读取一些输入,对其进行处理,然后将一些输出写入标准输出。为了不必每次都输入样本/测试输入,我已将输入保存到一个TXT文件,并将相应的预期输出保存到另一个TXT文件。我如何运行我的可执行文件(最好是在调试或Release模式下,或者可能在分析器下),以便VS自动提供输入TXT文件?VS可以自动检查程序的输出与预期的输出TXT文件吗?如果它们不相同,它会向我显示并排差异,那就太好了。我可以设置测试框架以使用不同的输入/预期输出文件运行各种测试吗?请注意,我不能只使用普通的单元测试,因为我必须进行集成测试。编辑:为了它的值(value),我正在使用C++。

c++ - MSVC 2012 通过 SFINAE 检测模板函数的模板参数数量

我正在尝试做的事情:我有一个模板对象传入,作为接口(interface)的一部分,它应该有一个定义了一些参数(我不知道有多少)的“过程”函数其中是模板参数。即structA{staticvoidprocess(inta);};structB{templatestaticvoidprocess(inta,B0b0);};都是要接收的有效处理程序。所以现在我需要检测处理程序的签名:静态类型参数和一些模板参数。为此,我使用了一些模板魔术技巧,这些技巧可能会缩小到有问题的部分-检测多个模板参数(或只是检索模板签名)。我试图找出所需信息的方法是使用Isitpossibletowriteatemp

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++ - 将 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++ - 使用 Visual Studio 2012 的静态链接 msvcrt 中的异常

VS2012的静态链接版本好像有问题。每当使用流时,在旧系统上启动控制台应用程序都会导致异常,尽管新系统根本不会造成任何问题。要重现此错误,只需在VS2012中创建一个新的控制台应用程序添加行std::ofstreamf;或std::cout在主函数中(根据需要包括fstream或iostream)切换到v110_xp工具集(如果WindowsXP需要)切换到静态链接库(/MT)在旧系统上启动exe总有异常(exception)。删除带有ofstream或cout的行总能解决问题。切换到动态链接的运行时库(/MD)总能解决问题。在ofstream的情况下,使用大小优化(/O1)或不优化

c++ - visual studio 2012 因断点而崩溃

这是最近才开始发生的。我试过修复没有用的VisualStudio。每当我尝试使用断点进行调试时,VisualStudio都会崩溃。我尝试使用全新的解决方案并使用devenv.exe/resetuserdata重置我的用户信息。它似乎在“加载msvcr110d.dll的符号”时崩溃。没有断点的调试(这毫无用处)似乎工作得很好。我还尝试过以管理员身份运行VisualStudio。调试C#项目也能正常工作(断点和所有)。 最佳答案 尝试启用native编辑并继续(选项->调试->编辑并继续->启用native编辑并继续)

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++ - 如何避免 "dynamic initialization in unreachable code"警告?

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