草庐IT

language-cmake

全部标签

c++ - 如何从现有的 git cmake 项目创建 Xcode 项目?

我是OSx的新手,有人可以帮助从现有代码创建Xcode项目吗?我想试试Xcode的一些功能,比如“profile”。我目前在我的cmake项目中使用Clion,它也在gitrepo中。我只是想从Xcode导入它,但我猜这并不容易。这里有一些关于项目和IDE的信息:它只是一个用C++和cmake项目编写的控制台应用程序它也在gitrepo上Xcode版本8.0(8A218a)OSElCapitan10.11.6如果您需要更多信息,我可以提供更多信息。感谢您的帮助。 最佳答案 Cmake有一个generator对于XCode。试试:cm

c++ - CMake zlib 在 Windows 上构建

我正在尝试使用CMake为Windows构建zlib1.2.8,但我遇到了不知道如何修复的构建错误。这是我的CMakeGUI:这会生成没有错误,但是当我构建生成的解决方案时。我收到此错误:2>------Buildstarted:Project:zlib,Configuration:Releasex64------2>CreatinglibraryC:/Users/erik/Documents/zlib/1.2.8/project/zlib-1.2.8-vc10/Release/zlib.libandobjectC:/Users/erik/Documents/zlib/1.2.8/pr

c++ - CMake 构建模式 RelWithDebInfo

我认为我了解发布和调试构建模式之间的区别。主要区别在于,在Debug模式下,生成的可执行文件没有经过优化(因为这可能会使调试更加困难)并且包含调试符号。在构建PCRE(WinMerge的外部依赖项之一)时,我注意到了一种我以前从未见过的构建模式:RelWithDebInfo。这里提到了Debug和RelWithDebInfo的区别:http://www.cmake.org/pipermail/cmake/2001-October/002479.html.摘录:“RelwithDebInfo与Release模式非常相似。它生成完全优化的代码,但也构建程序数据库,并插入调试行信息,让调试器

c++ - 如何使用 CMake 在特定构建配置中为特定目标设置特定编译器标志?

我有一个CMakeLists,我想在其中使用C运行时的动态版本构建一些目标,并使用静态版本构建一些其他目标。由于需要针对每个目标进行设置,所以默认设置方法CMAKE_CXX_FLAGS_不工作;这会覆盖所有目标。为此,我尝试了以下方法:#@fnset_target_dynamic_crt#@briefSetsthegiventargettousethedynamicversionoftheCRT(/MDor#/MDd)#@param...Alistoftargetstowhichthissettingshouldbeapplied.function(set_target_dynamic

c++ - cmake:编译统计

我需要弄清楚哪些翻译单元需要重组以缩短编译时间,我如何使用cmake为我的翻译单元掌握编译时间? 最佳答案 以下属性可用于计时编译器和链接器调用:RULE_LAUNCH_COMPILERULE_LAUNCH_CUSTOMRULE_LAUNCH_LINK这些属性可以全局设置,每个目录和每个目标。这样,您只能有一部分目标(例如测试)受到此属性的影响。您还可以为每个目标设置不同的“启动器”,这也很有用。请记住,直接使用“时间”是不可移植的,因为此实用程序并非在CMake支持的所有平台上都可用。但是,CMake在其command-linet

c++ - CMake FIND_PACKAGE 成功但返回错误的路径

我正在尝试使用我的CMakeLists.txt中的以下代码将CMake2.8.6链接到boost::program_optionsFIND_PACKAGE(BoostCOMPONENTSprogram_optionsREQUIRED)INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})ADD_EXECUTABLE(segmentsegment.cpp)TARGET_LINK_LIBRARIES(segment${Boost_LIBRARIES})find命令似乎成功,但将错误的目录传递给链接器。包实际上在:`/usr/lib64/libboost_prog

c++ - CMake 行军硬件

启用等效于GCC的-march=,尤其是-march=native的CMake方法是什么?真的没有比CHECK_CXX_COMPILER_FLAG更好的了,比如:include(CheckCXXCompilerFlag)CHECK_CXX_COMPILER_FLAG("-march=native"COMPILER_SUPPORTS_MARCH_NATIVE)if(COMPILER_SUPPORTS_MARCH_NATIVE)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-march=native")endif() 最佳答案

android - 错误 :Error occurred while communicating with CMake server

我正在尝试在Windows10上从AndroidStudio3.0构建一个简单的原生应用。当我尝试构建该应用时,我收到以下错误:"Error:ErroroccurredwhilecommunicatingwithCMakeserver.Checklogxxx\Native\app.externalNativeBuild\cmake\debug\armeabi-v7a\cmake_server_log.txtforadditionalinformation."并且日志包含:"CMAKESERVER:CMAKESERVER:[=="CMakeServer"==[CMAKESERVER:{"

c++ - cmake:前导或尾随空格(策略 CMP0004)

我关注thisquestion.但是我的cmake面临错误:--ConfiguringdoneCMakeErroratCMakeLists.txt:18(add_executable):Target"main"linkstoitem"-L/usr/lib/x86_64-linux-gnu-lSDL2"whichhasleadingortrailingwhitespace.ThisisnowanerroraccordingtopolicyCMP0004.--Generatingdonecmake列表有什么问题?我认为轻微的cmake版本差异不会导致这样的错误。#CMakeLists.tx

c++ - 使用 cmake 强制构建 32 位或 64 位的选项

我想提供一种方法,始终将我的目标构建为32位或始终构建为64位可执行文件,使用cmake独立于主机系统(为gcc添加“-m32”或“-m64”标志,目前还不确定其他编译器该怎么做)。我可以想到三种方法来做到这一点,我应该使用哪一种?一个选项(-DUSE32bit=true)工具链(-DCMAKE_TOOLCHAIN_FILE=64bit.toolchain)构建类型(-DCMAKE_BUILD_TYPE=release32)在我的情况下,强制32位构建将是默认设置,并且应该易于使用。强制64位构建在某些情况下也很有用,应该不会太难。使用主机系统的位宽对于我的情况很少有意义,我不想支持它