C ++:警告不一致的dll链接

时间:2016-02-04 15:02:39

标签: c++ dll visual-studio-2015

我的Visual Studio(在C ++中)存在问题

我收到了警告,我不知道为什么,因为我从来没有给同一个变量调用过两次。

function: inconsistent dll linkage

警告列表:(法文) warning list - visual studio c++

我在微软上读到:Compiler Warning (level 1) C4273但我不知道这是不是我的问题,因为这个例子不像我的。

我也读了About inconsistent dll linkage (StackOverflow它告诉我,因为我在dll中使用MFC但是我没有检查标题MFC。 not MFC header

这是我的“PayRespectdll.h”

#pragma once

#ifdef PAYRESPECTDLL_EXPORTS
#define PAYRESPECTDLL_API __declspec(dllexport) 
#else
#define PAYRESPECTDLL_API __declspec(dllimport) 
#endif

#include <ctime>
#include <time.h>
#include <string>

namespace PayRespectDLL
{
    class PayRespect
    {
    private:
        static struct std::tm when;
    public:
        static PAYRESPECTDLL_API bool is_setup();
        static PAYRESPECTDLL_API void setup(std::string date);
        static PAYRESPECTDLL_API bool is_possible();
    }
}

PayRespectDLL.cpp:

// PayRespectDLL.cpp :
//

#include "stdafx.h"
#include "PayRespectDLL.h"
#include <stdexcept>
#include <time.h>
#include <string>
#include <stdlib.h>


using namespace std;

namespace PayRespectdll
{
    bool PayRespect::is_setup()
    {
        return false;//already_setup;
    }

    // setup attempt String: hh:mm:ss.
    void PayRespect::setup(string date)
    {
        return;
    }

    bool PayRespect::is_possible()
    {
        return true;
    }
}
谢谢你!

1 个答案:

答案 0 :(得分:-1)

鉴于您使用的是MFC,我曾经遇到编译错误(“ DLL链接不一致”),因为当方法不是“内联”时,我正在头文件中定义方法主体。