六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

vc7环境下手工编译 的问题

[复制链接]

升级  58%

7

主题

7

主题

7

主题

童生

Rank: 1

积分
29
 楼主| 发表于 2013-1-28 13:20:49 | 显示全部楼层 |阅读模式
环境:winxp .net2003

状况:
a.cpp 中显式动态调用一个DLL,相关代码如下:
xx(){
/**..other code...**/
HINSTANCE dllinstance;
dllinstance=LoadLibrary("lpsolve55.dll");
FARPROC myproc;
myproc =GetProcAddress(dllinstance,"minfriction");
FreeLibrary(dllinstance);
}

如我将 xx()方法中这段代码去掉,在命令行下(将编译命令写在一个文件里通过nmake执行)可以成功编译.
加上这段代码后,编译出现以下错误:

“dllinstance” : 未声明的标识符
“LoadLibrary” : 不是“operator``global namespace''”的成员
“dllinstance”: 即使使用参数相关的查找,也未找到标识符
“LoadLibrary”: 即使使用参数相关的查找,也未找到标识符
“dllinstance”: 即使使用参数相关的查找,也未找到标识符
“FARPROC” : 未声明的标识符
语法错误 : 缺少“)”(在“__cdecl”的前面)
“myproc” : 未声明的标识符
“GetProcAddress” : 不是“operator``global namespace''”的成员
语法错误 : 缺少“;”(在标识符“GetProcAddress”的前面)
“GetProcAddress”: 即使使用参数相关的查找,也未找到标识符
“dllinstance”: 即使使用参数相关的查找,也未找到标识符
“myproc”: 即使使用参数相关的查找,也未找到标识符
“FreeLibrary” : 不是“operator``global namespace''”的成员

问题:
LoadLibrary,GetProcAddress,FreeLibrary属于windows api;
应该在编译的时候加入 什么参数?或者又该怎么做呢?
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表