微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“AddIntImpl”:dll 链接不一致:在 Visual Studio 中使用空项目选项创建 dll 时

如何解决“AddIntImpl”:dll 链接不一致:在 Visual Studio 中使用空项目选项创建 dll 时

最小可重复示例:

在创建项目时,我在菜单中选择了空项目。创建项目后,我确实将配置类型更改为 dll。

enter image description here

此后我创建了两个文件,Calculations.h 和 cpp

enter image description here

两个文件内容

Calculations.h

#pragma once

#ifdef CALculaTIONS_EXPORTS
#define CALculaTIONS_API __declspec(dllexport)
#else
#define CALculaTIONS_API __declspec(dllimport)
#endif

CALculaTIONS_API int AddIntImpl(int a,int b);

Calculations.cpp

#include "Calculations.h"


int AddIntImpl(int a,int b)
{
    return a + b;
}

现在在构建相同的东西时我得到了

1>Calculations.cpp
1>{...Path}\calculations.cpp(5): warning C4273: 'AddIntImpl': inconsistent dll linkage
1>{...Path}calculations.h(9): note: see prevIoUs deFinition of 'AddIntImpl'

我如何解决相同的问题?

解决方法

一般来说,警告不会影响应用程序的运行。所以在编程时通常会忽略警告。

我建议您可以参考以下链接:https://stackoverflow.com/a/19932564/11872808

您可以尝试以下方法来消除警告:

1->点击项目->属性->配置属性->C/C++->高级->禁用特定警告,然后在文本框中添加4273。

2->在您的程序中添加以下语句:#pragma warning(disable:4273).

3->关闭所有警告。在属性页中,打开 C/C++ 文件夹->常规->警告级别并选择“关闭所有警告(/W0)”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。