草庐IT

language-cmake

全部标签

c++ - 无法使用 cygwin 运行 cmake

我在cygwin下遇到cmake问题。我安装了cygwin的CMake包和普通的CMake包(在Windows中),每次我运行CMake来配置项目时,它都会显示以下内容:$CMakeError:CMakewasunabletofindabuildprogramcorrespondingto"UnixMakefiles".CMAKE_MAKE_PROGRAMisnotset.Youprobablyneedtoselectadifferentbuildtool.Missingvariableis:CMAKE_C_COMPILER_ENV_VARCMakeError:Errorrequire

c++ - 无法使用 cygwin 运行 cmake

我在cygwin下遇到cmake问题。我安装了cygwin的CMake包和普通的CMake包(在Windows中),每次我运行CMake来配置项目时,它都会显示以下内容:$CMakeError:CMakewasunabletofindabuildprogramcorrespondingto"UnixMakefiles".CMAKE_MAKE_PROGRAMisnotset.Youprobablyneedtoselectadifferentbuildtool.Missingvariableis:CMAKE_C_COMPILER_ENV_VARCMakeError:Errorrequire

c++ - 使用 cmake 构建具有 "experimental/filesystem"的项目

我需要在我的项目中添加一个“实验/文件系统”header#includeintmain(){autopath=std::experimental::filesystem::current_path();return0;}所以我使用了-lstdc++fs标志并与libstdc++fs.a链接cmake_minimum_required(VERSION3.7)project(testcpp)set(CMAKE_CXX_FLAGS"-std=c++14-lstdc++fs")set(SOURCE_FILESmain.cpp)target_link_libraries(${PROJECT_NA

c++ - 使用 cmake 构建具有 "experimental/filesystem"的项目

我需要在我的项目中添加一个“实验/文件系统”header#includeintmain(){autopath=std::experimental::filesystem::current_path();return0;}所以我使用了-lstdc++fs标志并与libstdc++fs.a链接cmake_minimum_required(VERSION3.7)project(testcpp)set(CMAKE_CXX_FLAGS"-std=c++14-lstdc++fs")set(SOURCE_FILESmain.cpp)target_link_libraries(${PROJECT_NA

c++ - Cmake 生成器表达式

我尝试了很长时间来了解generatorexpressions的好处如$在CMake中,何时以及如何使用它们。任何人都可以用一些例子清楚地解释它。非常感谢提前 最佳答案 CMake确实首先解析您项目中的CMakeLists.txt文件-名为“配置阶段”-然后生成构建环境-名为“生成阶段”。所以基本上,生成器表达式适用于只有生成器才能知道的所有内容:目标输出的名称和路径(主要在交叉编译和多配置环境中)或者更一般地说,生成器评估以将编译器/链接器调用混合在一起的任何目标属性以下是我在项目中使用生成器表达式的示例:在可执行文件旁边复制文件

c++ - Cmake 生成器表达式

我尝试了很长时间来了解generatorexpressions的好处如$在CMake中,何时以及如何使用它们。任何人都可以用一些例子清楚地解释它。非常感谢提前 最佳答案 CMake确实首先解析您项目中的CMakeLists.txt文件-名为“配置阶段”-然后生成构建环境-名为“生成阶段”。所以基本上,生成器表达式适用于只有生成器才能知道的所有内容:目标输出的名称和路径(主要在交叉编译和多配置环境中)或者更一般地说,生成器评估以将编译器/链接器调用混合在一起的任何目标属性以下是我在项目中使用生成器表达式的示例:在可执行文件旁边复制文件

c++ - 第 854 页 "The C++ Programming Language Third Edition"中的代码是否正确?

我尝试学习C++。在“TheC++ProgrammingLanguageThirdEdition”一书中,我在第854页(附录C.13.1)找到了代码:templateclassX{staticTdef_val;staticT*new_X(Ta=def_val);};templateTX::def_val(0,0);templateT*X::new_X(Ta){/*...*/}templateintX::def_val=0;templateint*X::new_X(inti){/*...*/}我修改它:templateclassX{staticTdef_val;staticT*new_

c++ - 第 854 页 "The C++ Programming Language Third Edition"中的代码是否正确?

我尝试学习C++。在“TheC++ProgrammingLanguageThirdEdition”一书中,我在第854页(附录C.13.1)找到了代码:templateclassX{staticTdef_val;staticT*new_X(Ta=def_val);};templateTX::def_val(0,0);templateT*X::new_X(Ta){/*...*/}templateintX::def_val=0;templateint*X::new_X(inti){/*...*/}我修改它:templateclassX{staticTdef_val;staticT*new_

c++ - 如何将 CMake 参数转发到 ExternalProject

我已经(大部分)成功地为googletest设置了ExternalProject_Add。但是,我注意到诸如我选择的C++编译器、构建类型等内容不会自动转发到ExternalProject。我可以通过在对ExternalProject_Add的调用中将其添加到CMAKE_ARGS来轻松添加任何给定标志,如下所示:CMAKE_ARGS-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}但是,这需要我枚举所有应该转发到googletests的CMake调用的可能参数,而且这个列表非常庞大。我还需要为我想要的每个其他ExternalProject_Add

c++ - 如何将 CMake 参数转发到 ExternalProject

我已经(大部分)成功地为googletest设置了ExternalProject_Add。但是,我注意到诸如我选择的C++编译器、构建类型等内容不会自动转发到ExternalProject。我可以通过在对ExternalProject_Add的调用中将其添加到CMAKE_ARGS来轻松添加任何给定标志,如下所示:CMAKE_ARGS-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}但是,这需要我枚举所有应该转发到googletests的CMake调用的可能参数,而且这个列表非常庞大。我还需要为我想要的每个其他ExternalProject_Add