草庐IT

c++ - CMake 和处理子文件夹头文件

我正在尝试设置我的项目以构建多个包含其完整功能的动态库。每个库都有子文件夹。子文件夹库相互依赖,因此它们必须相互引用函数。我似乎已经设法让CMake在项目上没有错误地运行,但是当我去构建时,我的标题找不到彼此时遇到了麻烦。似乎在构建时,包含路径设置不正确。我怎样才能解决这个问题?是否需要采取其他步骤才能正确设置包含路径?结构看起来像这样rootCMakeLists.txtbinliblib0CMakeLists.txtlib0.hlib0.cpplib1CMakeLists.txtlib1.hlib1.cpp...在根目录的CMakeLists.txt中,我有这样的声明:set(ROO

c++ - CMake:如何根据不同的主条目进行编译

假设我有两个main条目,一个在main1.cpp中,一个在main2.cpp中(还有其他文件也是,但只有两个主要条目)。如何配置CMakeLists.txt文件,以便我可以根据不同的目标包含main1.cpp或main2.cpp?即我最终将能够使用“maketarget1”生成基于main1.cpp的exec1和“maketarget2”生成基于exec2main2.cpp以及其他文件。 最佳答案 听起来像是用除主电源之外的所有资源制作图书馆的案例。然后只需添加两个可执行目标,每个都链接到库。add_executable(MyEx

c++ - 使用 biicode cmake 在 Debug模式下构建 C++

由于我无法从发布版本更改为调试版本类型,我想知道我做错了什么。我正在使用UnixMakefile。在docs.biicode.com/c++/building.html中说明了如何在CMakeLists.txt中添加SET()来向cmake添加变量。我是cmake和biicode的新手,我尝试了所有:ADD_DEFINITIONS(-DCMAKE_BUILD_TYPE=Debug)ADD_DEFINITIONS(-DCMAKE_BUILD_TYPE:STRING=Debug)SET(CMAKE_BUILD_TYPEDebug)target_compile_options(my_prog

c++ - 为什么命令 "cmake ."不生成 makefile?

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭6年前。Improvethisquestion我在终端中运行cmake.,它说它生成了一些东西,然后我运行make,它说make:***Notargetsspecifiedandnomakefilefound.Stop.我猜我错过了其他我需要做的事情,但我不知道是什么。它应该已经创建了一个make文

c++ - CMake 链接问题

我正在尝试使用CMake编译一个使用C库GStreamer的C++应用程序。我的main.cpp文件如下所示:extern"C"{#include#include}intmain(intargc,char*argv[]){GMainLoop*loop;GstElement*pipeline,*source,*demuxer,*decoder,*conv,*sink;GstBus*bus;/*Initialisation*/gst_init(&argc,&argv);return0;}这个有效:g++-Wall$(pkg-config--cflags--libsgstreamer-0.1

c++ - Ubuntu 上的 Cmake 可执行文件在哪里

尝试使用qt4creatorIDE在ubuntu中创建一个普通的c++项目。该向导会打开一个对话框并显示“请指定cmakeexe的路径”。不确定在哪里寻找任何帮助非常感谢提前致谢 最佳答案 我几乎可以肯定它在它的正常位置:/usr/bin/cmake。 关于c++-Ubuntu上的Cmake可执行文件在哪里,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/16844454/

c++ - CMake 错误 : CMake can not determine linker language for target: myapp

我正在尝试通过cmake编译vMime,但出现上述错误,我正在使用cmake的图形界面,我的makefiles.txt在下面。它配置正确但不生成cmake_minimum_required(VERSION2.8)PROJECT(CXX)#vmimeenable_language(CXX)set(VerifyCXXVerifyCXX.cxx)add_definitions(-DVERIFY_CXX)set_target_properties(${TARGET}PROPERTIESLINKER_LANGUAGECxx)add_executable(myappvmime)install(TA

c++ - 如何在cmake中使用autouic将头文件和ui文件放在不同的文件夹中

根据documentation,关于autouic:Ifapreprocessor#includedirectiveisfoundwhichmatchesui_.h,anda.uifileexists,thenuicwillbeexecutedtogeneratetheappropriatefile.但是如果.ui文件在另一个文件夹中怎么办?我目前在尝试构建时遇到以下错误:AUTOUIC:error:processforui_module.hfailed:File'C:/app/source/headers/module.ui'isnotvalidui文件实际上位于此处:C:/app/

c++ - CMake 错误 : "add_subdirectory not given a binary directory"

我正在尝试将GoogleTest集成到更大项目的子项目中,但找不到令我满意的解决方案。我有两个约束:GoogleTest的源代码已经在项目结构中的某处(因此无法使用URL从git存储库下载它)GoogleTest的源代码不是我的子项目的子目录(永远不会)所以当我尝试做这样的事情时:add_subdirectory(${GOOGLETEST_PROJECT_LOCATION})我收到了:CMakeErroratunit_tests/CMakeLists.txt:10(add_subdirectory):add_subdirectorynotgivenabinarydirectorybut

c++ - 在 CMake 中,指定所有可执行文件 target_link_libraries 某些库

在CMake中,有没有办法指定我所有的可执行文件都链接到某个库?基本上我希望我所有的可执行文件都链接到tcmalloc和分析器。简单地指定-ltcmalloc和-lprofiler不是一个好的解决方案,因为我想让CMake以可移植的方式找到库的路径。 最佳答案 您可以使用您自己的函数覆盖内置的add_executable函数,它总是添加所需的链接依赖项:macro(add_executable_name)#invokebuilt-inadd_executable_add_executable(${ARGV})if(TARGET${_