小编usr*_*567的帖子

CMake变量名称区分大小写?

CMake如何处理变量名称?他们是否区分大小写?

如果我用FindFoo.cmake

find_package(Foo)
Run Code Online (Sandbox Code Playgroud)

我可以使用FOO_FOUND,Foo_FOUNDfoo_FOUND

cmake case-sensitive

14
推荐指数
2
解决办法
5444
查看次数

CLion和CMake:只构建没有可执行文件的库?

如何只用clion构建一个没有可执行文件的静态库?CMakeLists.txt如何?(没有add_executable)

更新:如果我不向Clion添加可执行文件,我有一个 错误,需要一个可执行文件.

这是我的CMakeLists.txt.

cmake static-libraries clion

13
推荐指数
1
解决办法
9123
查看次数

lld链接器是ld和gold的直接替代品吗?

目前,LLVM项目中链接器lld开发时每周都会添加新功能.它的开发人员承诺lld比它快ld.与之相比,它如何竞争gold

lld是替代品ld吗?随着黄金有一些箍通过跳跃.

linker lld

12
推荐指数
2
解决办法
4627
查看次数

HTML:多语言元描述?

如何为我的网站设置两种语言元描述?

此代码是否有效?

<meta name="description" lang="en" content="english blablabla" />
<meta name="description" lang="hu" content="hungary blablabla" />
Run Code Online (Sandbox Code Playgroud)

html meta-tags

9
推荐指数
2
解决办法
2万
查看次数

摆脱CMake警告'项目没有使用手动指定的变量'

内部触摸变量的首选方法是CMakeLists.txt什么?

我有一堆类似的ExternalProjects,它们在具有相同变量的循环中调用.有些项目不需要特定的变量.

cmake

9
推荐指数
1
解决办法
1万
查看次数

INSTALL参数DESTINATION可以为空吗?

通常,类型的相对参数PATH,如"lib"或"source/include"在CMake中使用变量的当前值解析为绝对路径,例如:${CMAKE_INSTALL_PREFIX}在命令的情况下INSTALL.但是,如果我想使用空的相对路径(或者根本不设置它),那么这不起作用,因此得到的绝对路径等于${CMAKE_INSTALL_PREFIX}- CMake生成器会抱怨不存在DESTINATION,尽管没有理由为什么无法解决.

我知道这个问题的两个解决方法,但两者都有它们的缺陷阻止我实现我的目标:

  1. 使用${CMAKE_INSTALL_PREFIX}DESTINATION值.这正确地解决了路径,但是在INSTALL(EXPORT)生成的情况下,生成的路径Target.cmake是绝对的,这使得包不可重定位.
  2. 使用.DESTINATION.这至少在内部生成相对路径Target.cmake,但路径不正确..显然被认为是一个常规文件夹,并且在Target.cmake生成过程中,当_IMPORT_PREFIX确定时,CMake过多地剥离了一个文件夹组件:

    # Compute the installation prefix relative to this file.
    get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
    get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
    
    Run Code Online (Sandbox Code Playgroud)

还有其他解决方法吗?你认为缺乏空的相对路径可能被认为是一个错误吗?

cmake

9
推荐指数
1
解决办法
346
查看次数

git-svn dcommit错误:无法确定上游SVN信息

我正在尝试git-svn,我收到以下错误.到目前为止我所做的是

 git svn init -T <my svn repo> 
Run Code Online (Sandbox Code Playgroud)

然后我一直在用我的存储库提交

 git commit -a
Run Code Online (Sandbox Code Playgroud)

然后,一旦我做了一些我做了一些

 git svn fetch
Run Code Online (Sandbox Code Playgroud)

然后我试了一个

 git svn dcommit
Run Code Online (Sandbox Code Playgroud)

然而,失败了

无法从HEAD历史记录中确定上游SVN信息.可能存储库是空的

我还可以看到我的文件系统中的文件没有标记为由svn使用(不确定是否应该发生).如果我浏览svn存储库(使用repo浏览器),我可以看到原始文件存在.

这种原始的失败之后我试过基础重建没有成功(它会引发某些其他错误).

git-svn

8
推荐指数
1
解决办法
6843
查看次数

如何设置CMAKE_PREFIX_PATH?

我对全球环境变量有疑问CMAKE_PREFIX_PATH.我已经设置了这个,我可以看到它在我键入env时设置,但是当我运行cmake .构建HipHop时,它告诉我该变量未设置.

有没有办法可以将其硬编码到makefile中?

cmake

8
推荐指数
2
解决办法
3万
查看次数

CMake不再找到静态Boost库

我正在开发一个依赖Boost的大型C++项目.该项目使用CMake构建在各种平台上.在我的Windows机器上,我使用的是CMake 2.8.9,Visual Studio 2010和Boost 1.50.0(从源代码构建).

我一直在使用CMake和Boost多年没有问题,Boost版本已经老了1.33.现在,突然CMake不再找到Boost库.在我的机器上唯一改变的是我最近安装了Visual Studio 2012,但我不认为这与问题有任何关系(另一方面,据我记得,这是唯一的已经改变).

这是我用来调用CMake的命令行:

cmake ..\src -DBOOST_ROOT=..\..\boost -DQT_QMAKE_EXECUTABLE=..\..\qt-4.8.0\bin\qmake.exe
Run Code Online (Sandbox Code Playgroud)

这曾经完美无瑕地工作,但它现在输出:

-- Building for: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10
-- Check for working C compiler using: Visual Studio 10 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 10
-- Check for working CXX compiler using: Visual Studio 10 …
Run Code Online (Sandbox Code Playgroud)

c++ boost cmake

8
推荐指数
1
解决办法
2万
查看次数

g ++标志的含义-Wall -W -Werror

这些是什么,他们做了什么?

-Wall -W -Werror
Run Code Online (Sandbox Code Playgroud)

我在Ubuntu中使用终端用这个命令编译程序:

$ g++ -Wall -W -Werror main.cpp -o exec
Run Code Online (Sandbox Code Playgroud)

谁有人向我解释这个?

compiler-flags gcc-warning

8
推荐指数
1
解决办法
1万
查看次数