草庐IT

vs-cmake-examples

全部标签

c++ - 在 VS2008 中为 __FILE__ 打印的完整路径名

我们的代码使用__FILE__打印日志文件中的代码位置。我们的目的是让__FILE__的所有实例只打印文件名,不打印路径。但是,我们刚刚注意到,虽然源代码(.cpp文件)正确地只打印了文件名,但header(.h文件)打印了完整路径。这暴露了我们构建服务器在客户安装上的路径,这充其量是令人困惑的。我研究了/FC(fullpathnames)编译选项及其与/ZIand/Zi(debuginfogeneration)的关系编译选项。简短版本-/ZI表示/FC。我们目前正在使用/Zi,但我们没有使用/ZI或/FC,所以我们应该没问题。我们正在使用项目范围的预编译header(PCH),但PC

c++ - 使用 NUnit 在 VS 2010 中调试 native /托管 C++

有没有一种方法可以使用NUnit和nativeC++和托管C++的混合项目来设置断点并单步执行断点?我将我的SUT(被测软件)配置为静态库(nativeC++)我将我的单元测试套件作为一个单独的项目配置为一个依赖于我之前声明的库的dll。我还添加了上述库作为对我的单元测试项目的引用。我的测试在NUnit中运行良好,只是断点不起作用。同样,有没有办法让断点与NUnit一起使用native/托管C++? 最佳答案 最方便的方法是设置一个自定义工具条目,将NUnit的路径指定为命令。对于VS2003C#项目,您可以使用$(TargetPa

c++ - 如何在大约 v2.8.8 的 cmake 中轻松包含来自库依赖项的 header

我正在对C++存储库使用CMake进行一些试验,但我遇到了一些麻烦,试图在不使用大量额外CMake代码的情况下轻松地针对同一源代码树中的库构建应用程序。源码树的布局基本如下:ROOTlibs/lib1/lib2/lib3/apps/app1/app2/app3/库相互独立,应用程序可以链接到一个或多个库。目前我有一个根目录CMakeLists.txt,它将每个应用程序和库列为一个子目录,这样如果库被更改并且应用程序被重建,库也会被重建。这工作正常并且CMake链接它而无需我指定库所在的位置,但我没有看到对包含目录执行类似操作的方法。有没有通用的方法来处理这个问题?我不希望每个应用程序的

c++ - VS 2010 - 将 Win32 应用程序向导作为 .html 文件打开

我有点不愿意问问题,因为已经有人问了here,但问题是,它没有得到足够的回答,所以我不得不再问一次。所以,就像前面提到的提问者一样,我正在尝试在MicrosoftVisual2010中创建新项目。它没有显示普通窗口,而是prompts我保存.html文件,如下图所示。保存并打开结果inthefollowingwindow:虽然它什么都不做-只是页面,对项目没有任何影响。值得注意的是,这不仅发生在Win32应用程序中,也发生在MFC应用程序中。至于这是什么原因,我就不知道了。正如您从第一个屏幕截图中看到的那样,我之前正在做Web应用程序,但我根本没有更改任何首选项(不过,我的猜测是它以某

c++ - Cmake,在/usr/local/include 中找到头文件,在/usr/local/lib 中找到库

我希望CMake找到add_executable的header并找到target_link_libraries的.so文件。我要找的头文件是lcm-cpp.hpp(在ubunthu上)ls/usr/local/include/lcm/eventlog.hlcm_coretypes.hlcm-cpp.hpplcm-cpp-impl.hpplcm.h我项目根目录下的CMakeLists.txt文件cmake_minimum_required(VERSION2.6)project(libFoo)include_directories(include/usr/local/include/lcm

c++ - uint8_t VS uint32_t 不同的行为

我目前正在从事需要使用uint8_t的项目。我发现了一个问题,有人可以向我解释为什么会这样吗?//usingDIGIT_T=std::uint8_t;usingDIGIT_T=std::uint32_t;std::uint8_tbits=1;DIGIT_Ttest1=~(DIGIT_T)0;std::cout>bits);std::cout在这种情况下,输出符合预期ffffffff7fffffff但是当我取消注释第一行并使用uint8_t时,输出是ffff这种行为给我带来了麻烦。感谢您的帮助。马立克 最佳答案 正如评论中已经详细解释

c++ - CMake 与多个 gtest 冲突

这是我在StackOverflow上的第一篇文章,如果我的问题有问题,请深表歉意。我是CMake的新手,我在尝试将gtest(GoogleTest)导入C++项目时遇到了问题,该项目在库中使用了现有的gtest目录。我的根CMakeLists.txt文件是这样的(我的更改是在“开始更改”和“结束更改”之间进行的):cmake_minimum_required(VERSION2.6)project(nifi-minifi-cpp)set(PROJECT_NAME"nifi-minifi-cpp")set(PROJECT_VERSION_MAJOR0)set(PROJECT_VERSION

c++ - 使用 Microsoft Visual C++ 构建工具的 CMake

编辑:将此发布到他们的问题跟踪器并与一些CMake开发人员一起完成后,这实际上不是CMake问题。我的MSBuild安装出现问题,导致它返回“操作成功完成”。错误。总体上仍然没有解决问题,但这缩小了潜在原因的范围。我正在尝试使用MSVisualC++构建工具2015在Windows上构建一个CMake项目(注意:不是完整的VisualStudio)。然而,CMake显然无法找到cl.execmake..--Buildingfor:VisualStudio142015--TheCcompileridentificationisunknown--TheCXXcompileridentifi

c++ - CMake、VTK8 和 Embarcaderos Clang 编译器

C++Builder(10.2.3)的当前Embarcadero版本附带Clang32和64位C/C++编译器。Clang版本号称是3.3,(http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Win32_Clang-enhanced_Compilers)。我正在研究使用这些编译器和CMake编译VTK8.0和其他库。但是,CMake附带的“系统”CMake文件(Windows-Embarcadero.cmake)并未针对Clang配置,而是针对较旧的bcc32编译器配置。Embarcadero建议将其分发的“Windows-Embarc

c++ - CMAKE_CXX_COMPILER_VERSION 指向旧的 GCC 版本

我已经使用以下方法升级了我的GCC:$sudoadd-apt-repositoryppa:ubuntu-toolchain-r/test$sudoapt-getupdate$sudoapt-getinstallgcc-8g++-8$sudoupdate-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-870--slave/usr/bin/g++g++/usr/bin/g++-8运行这些命令中的任何一个:$gcc--version$g++--version$c++--version$/usr/bin/gcc--version$/usr/b