c ++错误C2039仅在发布时

时间:2018-01-16 15:46:11

标签: c++ visual-studio

我们必须关注文件:

$ docker build -t=test .
$ docker run test /srv/test
...
============================= test session starts ==============================
platform linux -- Python 3.6.4, pytest-3.3.2, py-1.5.2, pluggy-0.6.0
rootdir: /srv, inifile:
collected 1 item

test_app.py F                                                            [100%]

=================================== FAILURES ===================================
__________________________________ test_this ___________________________________

    def test_this():
>       assert 1==0
E       assert 1 == 0

test_app.py:4: AssertionError
=========================== 1 failed in 0.05 seconds ===========================
worker 1 buried after 0 seconds
goodbye to uWSGI.
$ echo $?
1

它在调试模式下工作正常,但是当我构建发布时,我得到以下错误:

#include "stdafx.h"
#include <iostream>
#include "Dice.h"


void Dice::Init(const unsigned seed) {

    std::cout << "Dice is initialized" << std::endl;
    _randomEngine = std::mt19937(seed);
    _standardChance = std::uniform_int_distribution<int>(1, 20);
}

Dice::Dice(unsigned int seed) {
    if (seed == 0) {
        std::random_device rd;
        seed = rd();
        std::cout << "seed is " << seed << std::endl;
    }
    Init(seed);
}

Dice::~Dice()
{
}

int Dice::GetChanceCalculation() {
    return _standardChance(_randomEngine);
}
int Dice::GetOtherRandomNumber(const int minimum, const int maximum) {
    const std::uniform_int_distribution<int> dist(minimum, maximum);
    return dist(_randomEngine);
}

int Dice::GetOtherRandomNumber(const int maximum) {
    return GetOtherRandomNumber(0, maximum);
}

std::mt19937 Dice::GetRandomEngine() const
{
    return _randomEngine;
}

有人说它可能是std :: cout或者包含的顺序,但这些都不起作用。 有没有人有解决方案?(如果有人想知道的话,建立在x86上)

1 个答案:

答案 0 :(得分:0)

很抱歉这么晚回答这个问题,但问题显然是stdafx.h中的错误包含和发布时链接器的一些错误设置的组合。 我要感谢大家花时间看我的问题。