Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Windows上带有Catch和Clang/LLVM的链接器错误_C++_Visual Studio_Linker_Llvm Clang_Catch Unit Test - Fatal编程技术网

C++ Windows上带有Catch和Clang/LLVM的链接器错误

C++ Windows上带有Catch和Clang/LLVM的链接器错误,c++,visual-studio,linker,llvm-clang,catch-unit-test,C++,Visual Studio,Linker,Llvm Clang,Catch Unit Test,我有一个链接器问题与下面的代码。它适用于Visual Studio 2015编译器,但不适用于Visual Studio中的Clang/LLVM。我已经尝试了不同的变化(以下一些),所有的工作都很好。这似乎是静态constexpr数值限制和要求的具体组合 // quicktest.cpp #include <limits> #include <iostream> #define CATCH_CONFIG_MAIN // This tells Catch to prov

我有一个链接器问题与下面的代码。它适用于Visual Studio 2015编译器,但不适用于Visual Studio中的Clang/LLVM。我已经尝试了不同的变化(以下一些),所有的工作都很好。这似乎是
静态constexpr数值限制
要求
的具体组合

// quicktest.cpp

#include <limits>
#include <iostream>
#define CATCH_CONFIG_MAIN  // This tells Catch to provide a main() - only do this in one cpp file
#include <catch.hpp>

struct X {
    static constexpr double min = std::numeric_limits<double>::min();
    static constexpr int min_int = std::numeric_limits<int>::min();
};

SCENARIO("blah")
{
        static const double my_min = X::min;                // works
        std::cout << (5 > X::min) << std::endl;             // works
        REQUIRE(5 > my_min);                                // works
        REQUIRE(5 > X::min_int);                            // works (int)
        REQUIRE(5 > std::numeric_limits<double>::min());    // works

        //REQUIRE(5 > X::min);                              // lnk2019

}

//int main()
//{
//    std::cout << (X::min < 5) << std::endl; // works
//  return 0;
//}
//quicktest.cpp
#包括
#包括
#定义CATCH\u CONFIG\u MAIN//这告诉CATCH提供MAIN()-仅在一个cpp文件中执行此操作
#包括
结构X{
静态constexpr double min=std::numeric_limits::min();
静态constexpr int min_int=std::numeric_limits::min();
};
场景(“废话”)
{
静态常量double my_min=X::min;//有效
std::cout X::min)my_min);//有效
REQUIRE(5>X::min_int);//works(int)
REQUIRE(5>std::numeric_limits::min());//有效
//需要(5>X::min);//lnk2019
}
//int main()
//{
//标准::cout