草庐IT

cmake-custom-command

全部标签

c++ - 使用带有 cmake/cpack 的 boost 库打包 c++ 程序

我编写了一个使用boost的简单c++程序,我想将它部署在具有任何linux风格(暂时)的相同架构的机器上,这些机器可能安装了也可能没有安装一些boost版本。我是部署新手,但试图阅读文档并提出一个CMakeLists.txt,它看起来像:cmake_minimum_required(VERSION2.8)project(myprog)FIND_PACKAGE(Boost1.50COMPONENTSthreadsystemchronoprogram_optionsREQUIRED)INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})add_executab

c++ - IDE 使用 Visual Studio,但跨平台配置使用 CMake

我发现了很多与我要问的问题类似的问题,但它们似乎并没有完全帮助我理解如何做我想做的事情,假设它甚至是可行的。我非常喜欢VisualStudio,我想将它用作C++项目的开发环境,但如果我愿意,我也希望能够在我的双引导Linux系统上构建我的任何项目。我还希望能够将我的头文件和源文件组织到共享驱动器上的特定目录结构中。我想使用CMake来配置一个项目,以使用Linux上的Make或Windows上的VisualStudio来构建它。那么是否可以在VisualStudio2012Pro中维护一个项目以利用其IntelliSense和编译以便快速编写代码和测试它,然后轻松地将源文件作为CMa

c++ - cmake find_package 指定路径

我的机器上安装了2个版本的OpenCV。一个在/usr/local/opencv3.1中。我假设另一个(版本3.4)的安装位置是/usr/local。无论如何,find_package(OpenCV3.0REQUIRED)设置OpenCV_DIR:PATH=/usr/local/share/OpenCV。此文件夹包含:haarcascadesOpenCVConfig.cmakeOpenCVModules-release.cmakejavaOpenCVConfig-version.cmakevalgrind_3rdparty.supplbpcascadesOpenCVModules.cm

c++ - CMake项目 build 的问题

我有以下问题。在我的Ubuntu上,我尝试构建一个项目并收到以下链接器错误:/usr/bin/ld:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_thread.a(once.o):undefinedreferencetosymbol'pthread_once@@GLIBC_2.2.5'/lib/x86_64-linux-gnu/libpthread.so.0:erroraddingsymbols:DSOmissingfromcommandlinecollect2:error:ldreturned

c++ - 将旧的 makefile 转换为 CMake

我正在尝试将旧的makefile代码转换为CMake。你能帮助我吗?这是我目前陷入困境的部分。我不知道如何将这些参数传递给编译器。COMPILE_FLAGS=-c-m32-O3-fPIC-w-DSOMETHING-Wall-Isrc/sdk/coreifdefSTATICOUTFILE="bin/test_static.so"COMPILE_FLAGS_2=./lib/ABC.aelseOUTFILE="bin/test.so"COMPILE_FLAGS_2=-L/usr/lib/mysql-lABCendifall:g++$(COMPILE_FLAGS)src/sdk/*.cppg+

c++ - 需要帮助尝试让 Cmake 找到第三方库

我目前有一个链接到两个第三方库的项目。这些库必须自己构建,然后链接到项目。一个是taglib,另一个是zlib。我注意到,当您在taglib目录中使用Cmake-gui程序时,您需要指定zlib的构建和安装位置。我的目标是让CMake为我的程序做类似的事情。由于这些库的存储位置不一致,如何提示用户提供所需库的路径?我希望这足够具体。 最佳答案 对于ZLib,CMake提供了FindZLIB.cmake,您可以“简单地”放置find_package调用你的cmakelists。如有必要,您可以对findzlib.cmake进行一些修改

c++ - VS2012 : 'nmake' is not recognized as an internal or external command

我尝试了VS2012NativeTools、CrossTools和Developers命令提示符。它不识别'nmake'。它在VS2010上也不起作用。在VS2008上,找不到windows.h之类的依赖我想为VS2012构建一个静态库curl:http://quantcorner.wordpress.com/2012/04/08/using-libcurl-with-visual-c-2010/ 最佳答案 对于VisualStudio2015社区版,将以下路径添加到您的系统环境路径C:\ProgramFiles(x86)\Micr

c++ - cmake 找不到 qt 5.1.1

我刚刚为Windows32位(MinGW4.8,OpenGL)安装了Qt5.1.1,并尝试将其添加到我的cmake中。但是CMake只是不想找到它,我不知道为什么。我错过了什么?我需要设置一个环境变量还是什么?这是我的cmake:cmake_minimum_required(VERSION2.8.11)PROJECT(Blemmer)#Findincludesincorrespondingbuilddirectoriesset(CMAKE_INCLUDE_CURRENT_DIRON)#InstructCMaketorunmocautomaticallywhenneeded.set(CM

c++ - 防止控制台窗口在 Visual Studio 2017 cmake 项目中关闭

VisualStudio2017内置了对cmake项目的支持,这意味着您只需打开一个包含CMakeLists.txt的文件夹并使用它。但是,似乎没有办法preventtheconsolewindowfromclosingafterrunninganexecutable.对于普通的VisualStudio项目,您可以使用Ctrl+F5在不附加调试器的情况下运行。然而,Ctrl+F5的作用与F5完全相同,即运行可执行文件并立即关闭控制台窗口。另一个建议是将子系统设置为应用程序的“控制台”,但cmake项目没有我可以为其设置设置的VisualStudio项目。我想也许我可以为我的CMakeL

c++ - cmake:target_link_libraries 使用未共享的静态库

是否可以告诉cmake链接到静态库而不是共享?在我的CMakeLists.txt顶部,我配置了以下内容:set(CMAKE_FIND_LIBRARY_SUFFIXES.a${CMAKE_FIND_LIBRARY_SUFFIXES})稍后,我添加了一个二进制文件,并告诉它在Release模式下链接到tcmalloc:target_link_libraries(${BIN_NAME}optimizedtcmalloc_minimal)生成的makefile链接到tcmalloc的共享版本:$makeVERBOSE=1|greptcmalloc/usr/bin/c++...-Wl,-Bdyn