如何在appveyor上调用boost库,如何设置环境变量以成功运行boost测试?

时间:2019-01-02 01:39:22

标签: appveyor

我想在传送带中运行增强测试。我的代码无需提升测试就可以成功构建。当我运行升压测试时,它具有编译错误。

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]

亲爱的,传送者找不到增强库。
在本地,我正在使用Visual Studio 2017和增强库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测试的这两个环境变量的校正设置是什么?当前设置有编译错误。

1 个答案:

答案 0 :(得分:0)

从根本上来说,这是一个非常简单的问题。我们应该使本地机器和供应商之间的构建环境相同。

在传送带中:    环境:   BOOST_ROOT:C:\ Libraries \ boost_1_64_0   BOOST_LIBRARYDIR:C:\ Libraries \ boost_1_64_0 \ lib64-msvc-14.1

在Visual Studio中:

项目->属性-> C / C ++->常规->其他包含目录: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即可。