小编usr*_*567的帖子

在GNU Make中使用CMake:如何查看确切的命令?

我使用CMake与GNU Make,并希望完全看到所有命令(例如编译器如何执行,所有标志等).

GNU make有--debug,但似乎没有任何其他选项有用吗?CMake是否在生成的Makefile中提供了额外的标志以进行调试?

cmake gnu-make

255
推荐指数
7
解决办法
14万
查看次数

gcc警告"'将在'之后初始化'

我从第三方代码中得到了很多这些警告,我无法修改.有没有办法禁用此警告或至少禁用某些区域(如VC++中的#pragma push/pop)?

例:

list.h:1122: warning: `list<LogOutput*, allocator<LogOutput*> >::node_alloc_' will be initialized after 
list.h:1117: warning:   `allocator<LogOutput*> list<LogOutput*, allocator<LogOutput*> >::alloc_'
Run Code Online (Sandbox Code Playgroud)

g++ suppress-warnings

214
推荐指数
6
解决办法
12万
查看次数

jsx和React中的动态标记名称

我尝试编写一个React组件.对于html标题标签(h1,h2,h3等),其中标题优先级根据我们在props中定义的优先级动态变化.

这就是我尝试做的事情.

<h{this.props.priority}>Hello</h{this.props.priority}>

预期产量:

<h1>Hello</h1>

这不起作用.有没有可行的方法来做到这一点?

node.js react-jsx

138
推荐指数
6
解决办法
4万
查看次数

如何在CMake中设置警告级别?

如何使用CMake项目(而不是整个解决方案)设置警告级别?应该在Visual StudioGCC上工作.

我找到了各种选项,但大多数似乎不工作或与文档不一致.

cmake warning-level

104
推荐指数
5
解决办法
7万
查看次数

CMake target_include_directories范围的含义

什么是关键词的含义PUBLIC,PRIVATE以及INTERFACE相关的CMake的target_include_directories

cmake

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

CMake找到Boost但导入的目标不适用于Boost版本

我用CMake找到Boost.找到了Boost,但CMake出错了

导入的目标不适用于Boost版本

请参阅下面的完整错误(来自macOS).我究竟做错了什么?

CMake Warning at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
/Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:6 (find_package)

Boost version: 1.63.0
Found the following Boost libraries:
  thread
CMake Warning at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
  /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:7 (find_package)
Run Code Online (Sandbox Code Playgroud)

boost cmake

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

为什么我不能为glib建立一个"hello world"?

所以这是世界上最简单的glib程序:

#include <glib.h>
Run Code Online (Sandbox Code Playgroud)

我尝试编译它,gcc test.c我得到:

test.c:1:18: error: glib.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以我确保我有合适的包裹:

# dpkg -l | grep libglib
ii  libglib-perl                              1:1.183-1                               Perl interface to the GLib and GObject libra
ii  libglib1.2-dev                            1.2.10-19build1                         The GLib library of C routines (development)
ii  libglib1.2ldbl                            1.2.10-19build1                         The GLib library of C routines
ii  libglib2.0-0                              2.20.1-0ubuntu2                         The GLib library of C routines
ii  libglib2.0-cil                            2.12.1-1ubuntu2                         CLI binding for the GLib utility library 2.1
ii  libglib2.0-data                           2.18.2-0ubuntu2                         Common files for GLib library …
Run Code Online (Sandbox Code Playgroud)

c glib

44
推荐指数
3
解决办法
6万
查看次数

使用CMake检查列表是否包含特定条目的最佳方法

我想检查列表是否包含特定条目,如下面的代码片段:

macro(foo)
if ($(ARGN} contains "bar")
  ...
endif
endmacro()
Run Code Online (Sandbox Code Playgroud)

CMake不提供contains.获得理想结果的最佳/最简单方法是什么?

在CMake的wiki中,我找到了一个LIST_CONTAINS宏,但是wiki页面已经过时了.这仍然是最好的方式还是CMake获得了新功能?

cmake

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

共享库的CMake和顺序依赖链接

我有几个小组件,我正在构建为我的主应用程序的共享库.允许使用的一个例子libalibb.每个都在它们自己的子目录中构建,如下所示:

add_library(liba SHARED a.cpp)
Run Code Online (Sandbox Code Playgroud)

然后,在根项目文件夹中,我需要将我的主应用程序链接到两者.

include_directories(a)
include_directories(b)
add_executable(dummy dummy.cpp)
target_link_libraries(dummy a b)
Run Code Online (Sandbox Code Playgroud)

CMake运行正常,我的应用程序编译但无法链接.问题是b引用了a.如果我在链接时提供库的顺序

target_link_libraries(dummy b a)
Run Code Online (Sandbox Code Playgroud)

该程序编译和链接就好了

当这种系统开始涉及更复杂的库之间的依赖关系时,即使依赖关系是非循环的,它也开始变得不可能.如何在此管理链接步骤?在CMake中订购库以进行链接是否有诀窍?

c++ cmake dynamic-linking

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

适用于Linux的CMake GUI在哪里?

我在我的Ubuntu Linux上安装了CMake.试图在Linux中运行CMake GUI.我发现它适用于Windows,但在哪里获取它以及如何在Linux中运行?

ubuntu cmake cmake-gui

21
推荐指数
4
解决办法
5万
查看次数