Lib编译和使用的问题,帮忙解释一下,谢谢!

#include
#include
#include "..\Win32_Lib\lib.h"
#pragma comment(lib,"..\Debug\Win32_Lib.lib")

int main(int argc, char *argv[])
{
printf("Hello Word!--[%d]\n",MyAdd(1,2));
return 0;
}

运行后老是提示:error C3861: 'MyAdd': identifier not found

Lib:
#include "stdafx.h"
#define _MyLib_OWNER //这个一定要在lib.h之前,原因就是展开内容先代替
#include "lib.h"

MY_LIB_API int MyAdd(int a ,int b)
{
__asm
{
mov eax,eax;
mov eax,eax;
}
return (a+b);
}

lib.h
#ifdef _MyLib_OWNER
#define MY_LIB_API extern "C" __declspec(dllexport)
#else
#define MY_LIB_API extern "C" __declspec(dllimport)
#endif

int MyAdd();

9个回答

error C3861: 'MyAdd': identifier not found
从提示看是编译问题, 原因是你包含的头文件没有MyAdd方法

错误提示: 标识符没找到, 就是MyAdd这个标识符没有找到声明或者识别错误,如大小写不一致,或宏开关没打开等类似问题
欢迎追问。

cn8610000
Student_2017 lib.h 里面加上后,显示的是'MyAdd' : function does not take 2 arguments
2 年多之前 回复
qq_41666142
折腾的小飞 lib包里面没有包含MyAdd方法,所以报错了 .....
2 年多之前 回复
wanfustudio
飞哥 回复飞哥: 我说的是lib.h文件内,如未解决,可发送至wanfu.liu@163.com
2 年多之前 回复
wanfustudio
飞哥 回复Student_2017: #include "..\Win32_Lib\lib.h" 这个文件里面有呗 ?
2 年多之前 回复
cn8610000
Student_2017 lib里面包含了啊
2 年多之前 回复

lib包里面没有包含MyAdd方法,所以报错了

cn8610000
Student_2017 lib里面包含了这个方法啊
2 年多之前 回复

头文件的包含有问题,没有发现MyAdd类, 如果我回答正确就给我c币吧

lib包里面没有包含MyAdd方法,所以报错了 .....

没有发现MyAdd类

lib包里面没有包含MyAdd方法

缺少对类MyAdd的引用

lib包里面没有包含MyAdd方发

没有MyAdd的相关引用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐