我创建了一个静态库,下面是alien.h和alien.cpp文件。该库由user.cpp文件链接。如果删除带注释的行,则代码将按预期编译,链接和运行。实际上,库和程序编译,但程序没有链接。 MSVC2015RC会生成超过100个已定义std::numeric_limits
的错误。
是否有一些我应该注意的设置或者这是一个MSVC2015错误?
档案alien.h
#include <vector> // This line causes troubles.
struct alien
{
const int * const value;
};
extern alien meh;
文件alien.cpp
alien meh { 7 };
文件user.cpp
#include "alien.h"
#include <iostream>
#pragma comment(lib, "alien.lib")
int main()
{
wcout << meh.value;
return 0;
}
错误LNK2005“public:static int const std :: numeric_limits :: max_exponent”(?max_exponent @?$ numeric_limits @ M @ std @@ 2HB)已在alien.obj中定义