草庐IT

cmake-custom-command

全部标签

windows - 在 cmake 中设置 curl 库路径

我下载了“curl库”以便与第三方应用程序一起使用。当我运行包含的cmake文件时,出现以下错误。请帮我。我很感激:>TheCcompileridentificationisMSVC18.0.30501.0>TheCXXcompileridentificationisMSVC18.0.30501.0>CheckforworkingCcompilerusing:VisualStudio122013>CheckforworkingCcompilerusing:VisualStudio122013--works>DetectingCcompilerABIinfo>DetectingCcomp

c++ - 如何在 CMake 中仅更改一个可执行文件的编译器标志?

我有一个CMake项目,它通过\MP在VisualStudio中支持多处理器编译。旗帜。由于只是项目构建的众多可执行文件之一,我需要设置\MP标记为false(或禁用它,因为我在导入.tlb文件时遇到错误),如何为该目标设置不同的标记?add_executable(MyProgrammyprogram.cpp)target_link_libraries(MyProgramMyLibraries)我应该给一些set_target_properties吗?cmake或专门从整个项目中删除标志?谢谢! 最佳答案 您可以使用set_sour

c++ - 通过cmake链接作为外部项目包含的opencv库

这个问题在这里已经有了答案:Configuringanc++OpenCVprojectwithCmake(2个答案)关闭8年前。我是cmake的新手,经过几天的努力后无法弄清楚以下事情:我有一个依赖于opencv的项目(它本身就是一个cmake项目),我想静态链接opencv库。我正在做的是在我的项目中有一份opencv源代码,并通过将其包含到我的CMakeLists.txt中ExternalProject_Add(my_copy_of_opencv_projectCMAKE_ARGS-DBUILD_SHARED_LIBS=NO...CMAKE_INSTALL_PREFIX=${MY_

c++ - 如何在 CMake 中明确指定树外源?

我看了这篇文章:UsingCMaketostaticallylinktoalibraryoutsideoftheproject.但我仍然无法理解这意味着什么:add_subdirectory(/path/to/the/library/source/directorysubproject/grzeslib)我假设“/path/to/the/library/source/directory”是指来自硬盘的路径,但我不明白“subproject/grzeslib”是什么意思。现在我尝试了:include_directories(../path/to/dir)add_subdirectory(

c++ - 如何创建依赖于外部头文件的仅 cmake 头文件库?

我有一个具有以下文件结构的项目:project||------->lib1||---->lib1.h||------->lib2||---->lib2.h||------->main.cclib1和lib2两个库只包含头文件,而lib2.h包含lib1.h,main.cc包含lib2.h。我现在如何编写这个项目的cmake文件?我试图创建一个interfacelibrary对于lib2,但编译器找不到lib1.h。以下是我的cmake文件的内容:lib2的CMakeLists.txt:add_library(lib2INTERFACE)target_sources(lib2INTERF

c++ - 将已编译的库和包含文件添加到 CMake 项目?

将预建库包含到cmake项目中的最佳方法是什么?我想将FreeType包含到我正在处理的项目中,文件结构如下:BuildMacOSMake/XCode/WindowsVisualStudio/SourcelibsMacOSlibfreetypeWindowsfreetype.dllincludesfreetype/(Variousheaderfilesthatareincludedautomaticallybyftbuild.h)ftbuild.h(thisiswhatisincludedincodefrommyunderstanding.)MyProjectmain.cppfoo.c

c++ - 如何在cmake中链接winsock?

我只找到了这个字符串find_library(WSOCK32_LIBRARYwsock32)find_library(WS2_32_LIBRARYws2_32)(我是cmake的初学者)如何在cmake中链接winsock2(winsock?)? 最佳答案 因为它们都是WindowsSDK的一部分,所以您不需要搜索它们。假设您安装了SDK,您可以执行以下操作:add_executable(MyExemain.cpp)if(WIN32)target_link_libraries(MyExewsock32ws2_32)endif()

c++ - 在CMake项目下编译单个文件?

我正在开发一个C++项目,该项目将包含在一个更大的项目中。我已经看到在更大的项目中(是一个Qt应用程序,它是从qmake生成的)我能够从linux命令行编译单个文件,只需输入特定文件的相对路径作为参数制作。另一方面,我在自己的项目中使用CMake。当我修改一个编译单元的一些代码时,我必须修改它的头文件,我必须等待很长时间才能编译它的依赖项,然后再编译它自己的源文件。但在某些情况下,我更愿意检查*.cc文件中的源代码是否可无错编译。有没有办法像qmake那样从CMake生成Makefile?切换到qmake不再是一种选择。 最佳答案

windows - cmake:指定编译器的问题

我对这个CMakeLists.txt文件有问题:cmake_minimum_required(VERSION2.6)SET(CMAKE_C_COMPILERC:\\MinGW\\bin\\gcc)SET(CMAKE_CXX_COMPILERC:\\MinGW\\bin\\g++)project(cmake_test)add_executable(a.exetest.cpp)调用cmake使用:cmake-G"MinGWMakefiles"我得到:c:\cmake_test>cmake-G"MinGWMakefiles".--TheCcompileridentificationisGNU

c++ - Qt/CMake : missing ':' before identifier 'slots' `

我正在尝试使用我自己的cmake文件而不是它附带的qmake.pro文件从Qt编译录音机示例,但我收到以下错误:qtaudiorecorder\audiorecorder.h(63):错误C2146:语法错误:在标识符“插槽”之前缺少“:”我的CMake文件:find_package(Qt5REQUIREDCOMPONENTSmultimediawidgets)set(CMAKE_AUTOMOCON)set(CMAKE_INCLUDE_CURRENT_DIRON)find_package(Qt5WidgetsREQUIRED)find_package(Qt5MultimediaREQU