【问题标题】:how to call boost libraries on appveyor, how to set environment variable to run boost test successfully?如何在appveyor上调用boost库,如何设置环境变量以成功运行boost测试?
【发布时间】:2019-01-02 01:39:21
【问题描述】:

我想在 appveyor 中运行 boost 测试。我的代码可以在没有提升测试的情况下成功构建。当我运行 boost 测试时,它有编译错误。

Build started
2
git clone -q --branch=master https://github.com/Gaussma/StaticLibrary.git c:\projects\myproject
3
git checkout -qf 857f43f706d59e6ed74d7af6771d102850e615a0
4
msbuild "c:\projects\myproject\StaticLibrary.sln" /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
5
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
6
Copyright (C) Microsoft Corporation. All rights reserved.
7
8
  LinkedListcpp.cpp
9
  MathFuncsLib.cpp
10
  Generating Code...
11
  MathFuncsLib.vcxproj -> c:\projects\myproject\x64\Debug\MathFuncsLib.lib
12
  boostTest_LinkedList.cpp
13
c:\projects\myproject\myexecrefslib\boosttest_linkedlist.cpp(3): fatal error C1083: Cannot open include file: 'boost/test/included/unit_test.hpp': No such file or directory [c:\projects\myproject\MyExecRefsLib\MyExecRefsLib.vcxproj]

很清楚,appveyor 找不到 boost 库。
在本地,我使用 Visual Studio 2017 和 boost library 1_68_0 来生成 MyExecRefsLib.vcxproj 文件。

我在stackoverflow上搜索,发现其他人以这种方式实现.yml文件。

environment:
  BOOST_ROOT: C:\Libraries\boost_1_59_0
  BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0

由于我在 appveyor 中使用 Visual Studio 2017 并且已经在 appveyor 虚拟机中安装了 boost,因此我为 boost_1_67_0 进行了相应的更新。
https://www.appveyor.com/docs/windows-images-software/#boost

environment:
  BOOST_ROOT: C:\Libraries\boost_1_67_0
  BOOST_LIBRARYDIR: C:\Libraries\boost_1_67_0\lib64-msvc-14.1

我没有 .yml 文件,我在 appveyor 的项目设置中手动设置了这两个环境变量。

我想知道运行 boost 测试的这两个环境变量的校正设置是什么?当前设置有编译错误。

【问题讨论】:

  • 欢迎来到Stack Overflow。 Wenn 发布了一个问题,编辑窗口上方是帮助您格式化代码的图标。请确保您至少知道如何格式化代码块(选择 + Ctrl+K)。您还标记了此yaml,尽管涉及 YAML,但这不是正确的标记(将鼠标悬停在标记上方以查看应如何使用它)。易读的问题和适当的标签使您有更高的机会获得适用的答案。

标签: appveyor


【解决方案1】:

实际上,这是一个非常简单的问题。我们应该使我的本地机器和appveyor之间的构建环境相同。

在应用程序中: 环境: BOOST_ROOT:C:\Libraries\boost_1_64_0 BOOST_LIBRARYDIR:C:\Libraries\boost_1_64_0\lib64-msvc-14.1

在 Visual Studio 中:

Project-> Properties-> C/C++ ->General -> Additional Include Directories : C:\Libraries\boost_1_64_0

项目->属性->链接器->附加库依赖:C:\Libraries\boost_1_64_0\lib64-msvc-14.1

只需将库中的 boost_1_64_0 移动并将库从 stage_x8\lib 更改为 lib64-msvc-14.1 即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 2012-02-09
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 2023-01-24
    • 2021-01-30
    • 2021-08-10
    相关资源
    最近更新 更多