小编use*_*610的帖子

即使 check_ipo_supported() 在 CMake 中工作,也未设置 INTERPROCEDURAL_OPTIMIZATION

我在 CMake 3.14.0 中有以下项目,它为 Visual Studio 2017 64 位生成器构建一个项目(最低版本为 3.10.0,因为其他开发人员可以拥有以前版本的 CMake,但大于 3.9.0):

cmake_minimum_required (VERSION 3.10.0)

project (data)

add_definitions (-DDATA_EXPORTS)

include_directories (${CMAKE_CURRENT_SOURCE_DIR}/..)

set (PROJECT_SRC
  Player.cpp
  LLA.cpp
  Attitude.cpp
  )

add_library (${PROJECT_NAME} SHARED ${PROJECT_SRC})
target_compile_features (${PROJECT_NAME} PUBLIC cxx_std_17)
# Enable IPO
include(CheckIPOSupported)
check_ipo_supported(RESULT iporesult)
if(iporesult)
  message (STATUS "IPO supported for project ${PROJECT_NAME}")
  set_property(TARGET ${PROJECT_NAME} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
Run Code Online (Sandbox Code Playgroud)

我添加了一些命令,用于在 Visual Studio 中添加对 LTO 的支持。我已经看到我必须检查对 IPO 的支持,如果可以,我必须设置INTERPROCEDURAL_OPTIMIZATION属性,这就是我所做的

当我运行该项目时,我收到以下消息(我也在使用 vcpkg,这就是第一行的原因):

[cmake] IPO supported for project data
...
[cmake] CMake Warning (dev) at D:/Projects/vcpkg/scripts/buildsystems/vcpkg.cmake:198 …
Run Code Online (Sandbox Code Playgroud)

cmake visual-studio lto link-time-optimization

4
推荐指数
2
解决办法
1320
查看次数

提交消息中的 Git 魔术关键字(签名人、合着者、修复等)

Git 命令本身支持Signed-off-by: Person's name <persons@email>行。

GitHub添加了 Co-authored-by:一行,然后在 UI 中将提交者和引用的人都显示为提交作者。

此外,GitHubGitLab各自识别一组关键字来在合并提交时关闭问题。

上面的 Git 魔术关键字列表是否完整?添加这些行和关键字是否有标准化过程?这些是否定义为不区分大小写?

git commit-message github gitlab

4
推荐指数
2
解决办法
695
查看次数

Bazel 宏失败,并显示“名称‘glob’未定义’”

我定义了一个 Bazel 宏。它看起来像这样:

def my_macro():
    java_binary(
        srcs = glob(["*.java"])
        # ...
    )
Run Code Online (Sandbox Code Playgroud)

当我运行 Bazel 时,它失败并出现错误

ERROR: /home/.../macros.bzl:105:19: name 'glob' is not defined
Run Code Online (Sandbox Code Playgroud)

可以glob在宏中使用吗?

macros bazel

4
推荐指数
1
解决办法
1865
查看次数

在 package:html、dart:html、dart:io(类 HttpClient)和 package:http API 之间进行选择以获取 HTTP 资源

我意识到目前至少有三个“官方”Dart 库允许我执行 HTTP 请求。更重要的是,其中三个库(dart:io(类 HttpClient)、package:http 和 dart:html)都有不同的、不兼容的 API。

截至今天,package:html 不提供此功能,但在其 GitHub 页面上,我发现它旨在与 dart:html 100% API 兼容,因此这些方法最终将添加到那里。

哪个包提供了最未来证明和平台独立的 API 来在 Dart 中发出 HTTP 请求?

是包:http吗?

import 'package:http/http.dart' as http;

var url = "http://example.com";
http.get(url)
    .then((response) {
  print("Response status: ${response.statusCode}");
  print("Response body: ${response.body}");
});
Run Code Online (Sandbox Code Playgroud)

是 dart:html/package:html 吗?

import 'dart:html';

HttpRequest.request('/example.json')
  .then((response) {
      print("Response status: ${response.status}");
      print("Response body: ${response.response}");
});
Run Code Online (Sandbox Code Playgroud)

还是飞镖:io?

import 'dart:io';

var client = new HttpClient();
client.getUrl(Uri.parse("http://www.example.com/"))
    .then((HttpClientRequest request) {
      // Optionally set up headers...
      // Optionally write to the request …
Run Code Online (Sandbox Code Playgroud)

android api-design httprequest dart dart-pub

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

如何在两个build.gradle.kts文件之间共享构建配置?

我有两个项目(在单个git存储库中),它们应该具有相同的

repository {

}
Run Code Online (Sandbox Code Playgroud)

部分中的内容build.gradle.kts,但在其他方面则完全无关。

我可以把这个共同的部分排除在外 build.gradle.kts吗?怎么样?

gradle kotlin gradle-kotlin-dsl

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

为什么 fmt.Printf("%x", '?') ~&gt; 16b5,而 fmt.Printf("%x", "?") ~&gt; e19ab5?

package main\n\nimport (\n    "fmt"\n)\n\nfunc main() {\n    fmt.Printf("%c, %x, %x", \'\xe1\x9a\xb5\', \'\xe1\x9a\xb5\', "\xe1\x9a\xb5")\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
\xe1\x9a\xb5, 16b5, e19ab5\n
Run Code Online (Sandbox Code Playgroud)\n\n

https://play.golang.org/p/_Bs7JcdOfO

\n

utf-8 string-formatting go

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

如何在nix-shell中选择GCC版本?

我要求的是GCC 8,但我却得到了GCC 7。

$ nix-shell -p gcc8
[nix-shell:~]$ gcc --version
gcc (GCC) 7.3.0
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

nixos

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

如何保持 WINdows Container 运行?

我需要保持我的 Windows 容器处于运行状态,以便我可以使用docker exec.

在 Linux 上,我会启动它以运行sleep infinity, 或tail -f /dev/null. 或者,我可以借用pause.cKubernetes

这在 Windows 上看起来像什么?

docker-for-windows windows-container

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

如何在登录时从软件集合启用 python35?

我遵循了软件集合快速入门,现在我已经安装了 Python 3.5。如何使它始终在我的中启用~/.bashrc,以便我不必手动启用它scl enable rh-python35 bash

rhel7 software-collections

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

HEAD和git中的tip有什么关系?

在Arch Linux打包中,我遇到了术语git tip(Git中的分支技巧是什么?)。作为git用户,我习惯于将HEAD称为我认为相同或至少相似的概念。

两者之间是什么关系?为什么同一事物有两个名称(假设它们是),并且在某些情况下,一个名称更合适?

git terminology

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