为什么调用Lib 静态库里函数提示: 找不到标识符
刚才写个简单程序,练习下静态库的编写与调用:
一. 静态库的工程MyLib文件
1. 头文件
#pragma once
#ifdef MYLIBAPI
#define MYLIBAPI
extern "C" int MyAdd(int x,int y);//
#endif
2. CPP文件
#include"MyLib.h"
int MyAdd(int a, int b)
{
return (a+b);
}
编译之后,生成MyLib.lib文件, 把MyLib.lib文件MyLib.h文件放在 Library文件夹里
二.调用MyLib静态库的UseLib工程文件
#include "../Library/MyLib.h"
#pragma comment (lib, "../Library/MyLib.lib")
void CUseLibDlg::OnBnClickedButton()
{
int a,b,c;
a=GetDlgItemInt(IDC_EDIT1);
b=GetDlgItemInt(IDC_EDIT2);
c=MyAdd(a,b); // 为什么编译 UseLib工程提示 MyAdd 找不到标识符
SetDlgItemInt(IDC_EDIT3,c);
}
基本思路是这样的了, 可是一直找不到哪里出错了,请问各位,指点下小弟,哪里出错了? 谢谢了。
[解决办法]
//注意这里是#ifndef,不是#ifdef
#ifndef MYLIBAPI
#define MYLIBAPI
extern "C" int MyAdd(int x,int y);//
#endif