24

我对 Visual Studio 完全陌生,在使用 Visual Studio 2008 启动项目时遇到了一些问题。我正在尝试使用 MAPI,当我开始构建项目时收到如下错误消息:

“函数 _main 中引用的未解析的外部符号 _MAPIUninitialize@0”

我知道我需要链接到 MAPI32.lib,但到目前为止我发现的指南表明转到“Visual Studio 设置链接选项卡”并将其添加到那里(显然是来自旧版本的 Visual Studio)。我在 VS 2008 的项目属性链接器或 C/C++ 部分中找不到类似的东西。

我需要在哪里告诉 Visual Studio 使用该库?

谢谢

4

5 回答 5

42

它位于项目属性/配置属性/链接器/输入/附加依赖项下。

屏幕底部的帮助提示说“指定添加到行的附加项(例如:kernel32.lib)”

于 2009-07-11T23:36:34.243 回答
12

项目属性->链接器->输入->附加依赖项

您也可以 #pragma comment( lib, "mapi32" ) 在您的源文件之一中使用。如前所述,MSDN 这里是使用编译指示技术MSDN - 创建基本 Winsock 应用程序的类似库添加

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}
于 2009-07-11T23:35:40.360 回答
10

三个简单的步骤:

  1. Project Properties->Linker->General->Additional Library Directories 选择包含 .lib 文件的文件夹

2.Project Properties->Linker->Input->Additional Dependencies 只要输入你的.lib文件的名字

3.Project Properties->C/C++->General->Additional Include Directories 选择.h文件所在的文件夹

于 2012-08-05T06:33:09.247 回答
2

也可以在解决方案资源管理器中将库文件拖放到项目中。

于 2009-07-12T08:22:45.957 回答
1

不要静态链接到任何 MAPI dll。您必须始终动态加载 MAPI 系统 - 查看 MFCMAPI 源代码以了解它是如何完成的:http: //mfcmapi.codeplex.com/

于 2012-08-05T16:23:02.240 回答