草庐IT

CMAKE_CURRENT_SOURCE_DIR

全部标签

安卓工作室,CMake。如何在编译时打印调试信息?

我正在使用AndroidStudio2.3beta3。我将message(AUTHOR_WARNING"HelloCMake,helloAndroid")放入我的CMakeLists.txt但我在AndroidStudio中重建项目时只看到几次此消息。在大多数情况下,构建完成后,Gradle控制台中不会出现"HelloCMake,helloAndroid"字符串。我试过重新同步gradle和清理/重建项目,仍然没有预期的输出。我的构建有一些问题(我认为这是不正确的路径)所以我的目标是在编译时打印CMake变量以更好地理解实际发生的事情。 最佳答案

Android Gradle 避免 CMake 项目不必要的重建

我有多种风格的AndroidGradle+CMake(NDK)项目。切换到以前未构建的风格后,子项目中的C++源文件/库被不必要地重建。这是一种预期,因为输出文件夹是特定于flavor的,并且在第一次构建时不存在:./app/.externalNativeBuild/cmake/prodDebug/armeabi/libs/mylib/libmylib.a./app/.externalNativeBuild/cmake/devDebug/armeabi/libs/mylib/libmylib.a但我有很多风格和大型库要构建,并且不想重建不依赖于风格的C++库-有些库在构建时对于每种风格

cmake编译到静态.lib文件

我正在努力让Cmake将C++项目编译到静态.lib文件中,这样我就可以将其链接到另一个项目。这是我的基本设置:cmake_minimum_required(VERSION2.8)PROJECT(MyProj)IF(NOT${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}LESS3.1)cmake_policy(SETCMP0054OLD)ENDIF()set(SRCS_COMMON#HereIlocatetherelativepathstoabunchof.cppfiles#../../Source/Common/Math/Example.cpp)AD

c++ - gcov 与 CMake 使用单独的构建目录

我正在努力获取gcov的覆盖信息。编译和链接期间没有错误,但是当我运行可执行文件时,没有生成覆盖率数据。我将CMake与单独的构建目录一起使用,以这种方式将标志传递给编译器和链接器:add_definitions(--coverage)set(CMAKE_EXE_LINKER_FLAGS${CMAKE_EXE_LINKER_FLAGS}"--coverage")可执行文件是否期望源代码位于特定位置?我必须向我的CMakeLists.txt添加什么才能让事情顺利进行?亲切的问候,比约恩 最佳答案 CMake似乎将代码覆盖率(*.gcd

亲测可行,Android Studio 查看源码出现 Source for ‘Android API xxx Platform’ not found 的解决方法

亲测可行,AndroidStudio查看源码出现Sourcefor‘AndroidAPIxxxPlatform’notfound的解决方法如标题中的问题,产生的原因就是SDK源码目录下找不到对应版本的源码文件。解决方案一般就是下载对应版本的源码文件即可。这里主要是另一种情况,每次Google发布Android新的版本时,对应源码还没有提供下载(一般会在正式版发布以后的某个时段提供)。这时怎么办呢?思路就是把旧版本的源码先用着。这里以AndroidAPI34为例。,将Android33的源码强行拷贝,当做API34来用。步骤如下:到AndroidSDK目录下(sdk/sources)下复制and

c++ - CMake生成器表达式,区分C/C++代码

我想将-std=c++11添加到我的add_compile_options("-std=c++11")但是,这也将它们添加到C文件的编译中,而不仅仅是C++。我知道我可以根据使用的配置添加条件编译标志:add_compile_options("$:-addMeInDebugOnly>")我怎样才能将我的标志只添加到C++文件中?我正在寻找类似的东西:add_compile_options("$:-std=c++11>")但是我需要用问号填写什么呢? 最佳答案 当您混合使用C和C++源代码时,LINKER_LANGUAGE属性可能会为

c++ - 使用 cmake 生成项目时 Eclipse 索引器正确的 c++11 语法突出显示

我知道您可以使用此处描述的GXX_EXPERIMENTALhack启用正确的语法突出显示:EclipseCDTindexerdoesnotknowC++11containers但我认为,在使用cmake生成项目时,根本不需要触及项目设置。所以。有更简单的解决方案吗? 最佳答案 答案很简单。eclipsecdt生成器在解析符号时会忽略使用add_definitions(...)添加的定义。相反,它使用CMAKE_CXX_COMPILER_ARG1。所以你所要做的就是:在调用cmake时添加-DCMAKE_CXX_COMPILER_AR

java - 在 Windows 上设置 hadoop.tmp.dir 会出现错误 : URI has an authority component

我试图在我的hdfs-site.xml中指定HDFS文件的基本目录在Windows7下(我从源代码构建的Hadoop2.7.1,使用JavaSDK1.8.0_45和WindowsSDK7.1)。我不知道如何提供指定驱动器的路径。我的hdfs-site.xml看起来像这样:dfs.replication1hadoop.tmp.dirXXX我尝试了XXX的各种值,我用hdfsnamenode-format测试过,所有这些都会导致以下2个错误之一:XXX=D:/tmp/hdp:15/07/1023:38:33ERRORnamenode.NameNode:Failedtostartnameno

c - 如何在 Cmake 中链接 curses.h?

我知道这可能是一个愚蠢的问题,但我看不透它,我在这里搜索了其他答案,它们与我的答案非常接近,但是,我仍然不明白该怎么做。问题是我无法在Windows中编译使用curses.h的“C”程序(我正在使用Clion和MinGW),当我尝试这样做时,它为curses.h(例如“initscr”、“clear”……)。通过MinGW安装管理器,我安装了“mingw-32-libpdcurses”(有两个可用的两个不同的类:dev和dll;我安装了dll一个)。我正在使用的CMAKEfile是这样的:cmake_minimum_required(VERSION3.3)project(Project

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误

文章目录1.复现错误2.分析错误3.解决问题3.1下载Hadoop3.2配置Hadoop3.3下载winutils3.4配置winutils1.复现错误今天在运行同事给我的项目,但在项目启动时,报出如下错误:java.io.FileNotFoundException:java.io.FileNotFoundException:HADOOP_HOMEandhadoop.home.dirareunset.-seehttps://wiki.apache.org/hadoop/WindowsProblems atorg.apache.hadoop.util.Shell.fileNotFoundExce