你好,我正在尝试在Windows8下使用CMake编译VTK和ITK。ITK编译完美,但是当我尝试通过CMake处理VTK时,出现错误cmTryCompileExechasstoppedworking。我怎么解决这个问题?我的CMake版本是2.8.12.1 最佳答案 看起来运行try-compile测试的脚本崩溃了。解决方案:UpdateVTK。 关于c++-CMake错误-cmTryCompileExec已停止工作(VTK),我们在StackOverflow上找到一个类似的问题:
我正在使用cmake来管理我的项目的编译,这是我第一次使用cmake。这个工具非常方便,因为有大量的脚本和函数可以检查给定计算机上是否安装了所有必需的库。然而,有时,这些通用脚本不涵盖某些特定情况,或者它们对于给定的库根本不可用。那么我的问题如下:验证给定头文件(hpp或h)在包含路径中是否可用的正确cmake样式方法是什么?理由:最直接的方法可能是使用CHECK_INCLUDE_FILE宏。例如,如果我想使用UnitTest++库,我可以这样写CHECK_INCLUDE_FILE_CXX("UnitTest++.h"HAVE_UNITTESTXX)IF(NOTHAVE_UNITTES
我想从CMake项目为跨平台Linux项目生成VisualStudio解决方案。VisualStudio2017跨平台工作负载运行良好,尤其是在调试方面。我用它来定位WSL。现在我有一个现有的LinuxCMake项目,我想在Windows和VisualStudio上开发并在WSL上构建它。我只是似乎没有看到为VisualStudio生成适当解决方案的方法。谁能赐教一下? 最佳答案 已经有somequeries支持CMake的“Linux”项目类型,但我不认为thereissomethingimplementedyet(查看代码,它无
我正在尝试使用AndroidNdK独立工具链构建一些东西。但是,我遇到了这些错误。CMakeWarningatcmake/android.toolchain.cmake:387(message):UsingvalueofobsoletevariableANDROID_NDK_TOOLCHAIN_ROOTasinitialvalueforANDROID_STANDALONE_TOOLCHAIN.Pleasenote,thatANDROID_NDK_TOOLCHAIN_ROOTcanbecompletelyremovedinfutureversionsofthetoolchain.Call
在Ubuntu14.04中,我正在编译一个C++程序,它依赖于以下包:CUDA和OpenNI。在该程序的CMakeListst.txt文件中,有以下内容:find_package(CUDA)find_package(OpenNI)cmake的输出是:FoundCUDA:/usr/local/cuda(foundversion"6.5")--CouldNOTfindOpenNI(missing:OpenNI_LIBRARYOpenNI_INCLUDE_DIR)因此,似乎找到了CUDA,但没有找到OpenNI。现在,我肯定已经安装了OpenNI,但可能不在标准位置。如前所述,CUDA文件位
我想静态链接下面列出的库:set_target_properties(execPROPERTIESLINK_SEARCH_START_STATIC1)set_target_properties(execPROPERTIESLINK_SEARCH_END_STATIC1)set(CMAKE_FIND_LIBRARY_SUFFIXES.a${CMAKE_FIND_LIBRARY_SUFFIXES})find_library(SODIUM_LIBlibsodium.aREQUIRED)find_library(SSL_LIBlibssl.aREQUIRED)find_library(CRYP
我正在尝试获取基于CMake的项目(包含多个目标)的代码覆盖率。首先我生成gcno文件:lcov-b.-d.-ocoverage.output--capture--initial生成的*.gcnobuild_dir/[target_dir]/CMakeFiles/[target_dir].dir然后我运行生成*.gcna文件的测试build_dir/tests/CMakeFiles/[target_dir].dir当我再次运行lcov时:lcov-b.-d.-ocoverage.output--capture我收到以下错误:Scanning.for.gcdafiles...Found2
我已经在cmake下构建了一个大项目。我正在寻找一种方法来获取源文件列表及其依赖的头文件以创建新目标(例如Emacs的etags)。我试图自己找到答案,但似乎并不那么容易。理想的灵魂应该是这样的:add_executable(my_project)add_custom_target(tagsCOMMANDetagsDEPENDSCOMMENT"CreatessourcecodetagsforEmacs")您是否知道如何让“tags”目标从“my_project”目标导入所有依赖项,而无需重写所有目录中的所有cmake配置文件? 最佳答案
定义CMake目标时,可以创建别名目标,以便在后续命令中使用别名来引用定义的目标。例如add_library(foo_libfoo.cppbar.cppbat.cpp)add_library(foo::libALIASfoo_lib)据我所知,这样做的好处是名称foo_lib不会作为make目标出现。但是,给定这样一个别名,我想为它们设置各种属性,例如:set_target_properties(foo::libPROPERTIESCOMPILE_DEFINITIONS...)target_include_directories(foo::libPUBLIC...PRIVATE...)
现在我有了一个我自己制作的库,我想在另一个CMakeC++项目中使用它。它像这样存在于我的电脑中。${MY_LIB_PATH}\include${MY_LIB_PATH}\lib\x86\debug\lib-files${MY_LIB_PATH}\lib\x86\release\lib-files${MY_LIB_PATH}\lib\x64\debug\lib-files${MY_LIB_PATH}\lib\x64\release\lib-files让CMakefind_package知道这些的基本配置文件应该是什么样的?我预计它会非常简单,因为它没有太多信息可以提供。Butthisp