1.project->add to project->files添加MatrixVCDLL.lib
2.#pragma comment (lib,"MatrixVCDLL.lib")
3.project->setting->link->library modules加入MatrixVCDLL.lib
这三种方法是不任意一种都可以啊?
第二三种方法要明确写出MatrixVCDLL.lib的路径不?我已经把MatrixVCDLL.lib复制到当前的project下面了。
我三种方法一起都设置了之后,还是提示
error LNK2001: unresolved external symbol "public: __thiscall matrix::~matrix(void)" (??1matrix@@QAE@XZ)
error LNK2001: unresolved external symbol "public: void __thiscall matrix::Plot(void)" (?Plot@matrix@@QAEXXZ)
........
Debug/jia.exe : fatal error LNK1120: 6 unresolved externals
Error executing link.exe.
等等这样的错误
有谁知道是哪里出错了吗?
30 个解决方案
#1
路径是单独指明的,在link-->input选项里的一个addition Library directory,你看看
#2
addition library path里面填入路径吧?(d:\jia\是我当前project的目录)输入d:\jia或者d:\jia\MatrixVCDLL.lib都不行啊,还是那些错误
#3
推荐2 3
应该是没有加载成功.
应该是没有加载成功.
#4
link-->input里面是设定库文件
link-->常规里面才是设定库文件的目录
#5
输入MatrixVCDLL.lib所在的目录
#6
是在link->general->addition Library directory,看错了,注意是个directory
#7
那该怎么加载啊?是这三种方法里面,只用一种方法就可以了嘛?
#8
VC6吧?Matlab导出包吧?
前面要导入相应的头文件:
前面要导入相应的头文件:
#include "MatrixVCDLL.h"
#pragma comment(lib,"MatrixVCDLL.lib")
#9
在属性-》link->常规->附加库目录中加入你这个lib文件的路径,
用二三方法就能正确把lib文件加载入工程了。
你这个错误就是没有正确加载造成的。
用二三方法就能正确把lib文件加载入工程了。
你这个错误就是没有正确加载造成的。
#10
project->setting->link->library modules加入MatrixVCDLL.lib
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
#11
项目-》属性-》链接-》常规(路径名)
-》输入(文件)
-》输入(文件)
#12
没有addition Library directory那一项啊
#13
具体在链接哪里输入啊?
#14
我是加载一个VC++数值分析类库,Matrix.h对应MatrixVCDLL.lib,
我有
#include "Matrix.h"
#pragma comment(lib,"MatrixVCDLL.lib")
还是有错误的
#15
可能是C++ 把要导出的函数的名称给改变了,然后连接器找不到名称
#16
要不就是你的lib有问题,打开看看真实的lib名称是否是MatrixVCDLL.lib
这个名称是存储在lib文件中真正的名称
有可能是MatrixVCDLLD.lib也不好说,或者别的名字,自己看看吧
这个名称是存储在lib文件中真正的名称
有可能是MatrixVCDLLD.lib也不好说,或者别的名字,自己看看吧
#17
顶8楼
#18
[Quote=引用 10 楼 xingzhe2001 的回复:]
project->setting->link->library modules加入MatrixVCDLL.lib
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
project->setting->link->library modules加入MatrixVCDLL.lib
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
#19
珍爱生命 远离vc6
#20
#pragma comment(lib,"这里是你lib文件的路径,绝对路径,相对路径都行,童鞋~")
#21
额···有理···!
#22
#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") 之后会提示
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
#23
#pragma comment(lib, "MatrixVCDLL.lib")是显式加载库的方法,这个库必须要在.exe文件的所在目录下,或者在系统环境变量指定的目录下,或者在Windows系统system32下,或者在project->setting->link->general->addition Library directory所指定的第三方库的路径下。
可以指定绝对路径,但您的的路径写错了,必须写成转义字符
#pragma comment(lib, "D:\\jia\\MatrixVCDLL.lib")。
三种方法都可以,建议显式加载,很清楚。
可以指定绝对路径,但您的的路径写错了,必须写成转义字符
#pragma comment(lib, "D:\\jia\\MatrixVCDLL.lib")。
三种方法都可以,建议显式加载,很清楚。
#24
vc6 的 project/setting里的 link标签项就有添加.lib文件
#25
#include"MatrixVCDLL.h"
#pragma comment(lib,"MatrixVCDLL.lib")
必须加头文件
#pragma comment(lib,"MatrixVCDLL.lib")
必须加头文件
#26
系统环境变量指定的目录怎么看呢?VC运行和windows系统system32有什么联系呢?我看那个类库的说明,是说要我把MatrixVCDLL.dll放到windows目录下或者windows\system下,我的VC是装在D盘的,会不有影响呢?
#27
首先。。搞清楚。。是不是这个lib
#28
以前用过,好像23都行,也没有出问题。学习中。
#29
学习 !
#30
引用 22 楼 h137jj 的回复:
引用 20 楼 only_lonely 的回复:
#pragma comment(lib,"这里是你lib文件的路径,绝对路径,相对路径都行,童鞋~")
#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") 之后会提示
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
应该把“#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") ”
改成“#pragma comment(lib,"D:\\jia\\MatrixVCDLL.lib") ”就好了
引用 20 楼 only_lonely 的回复:
#pragma comment(lib,"这里是你lib文件的路径,绝对路径,相对路径都行,童鞋~")
#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") 之后会提示
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
应该把“#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") ”
改成“#pragma comment(lib,"D:\\jia\\MatrixVCDLL.lib") ”就好了
#1
路径是单独指明的,在link-->input选项里的一个addition Library directory,你看看
#2
addition library path里面填入路径吧?(d:\jia\是我当前project的目录)输入d:\jia或者d:\jia\MatrixVCDLL.lib都不行啊,还是那些错误
#3
推荐2 3
应该是没有加载成功.
应该是没有加载成功.
#4
link-->input里面是设定库文件
link-->常规里面才是设定库文件的目录
#5
输入MatrixVCDLL.lib所在的目录
#6
是在link->general->addition Library directory,看错了,注意是个directory
#7
那该怎么加载啊?是这三种方法里面,只用一种方法就可以了嘛?
#8
VC6吧?Matlab导出包吧?
前面要导入相应的头文件:
前面要导入相应的头文件:
#include "MatrixVCDLL.h"
#pragma comment(lib,"MatrixVCDLL.lib")
#9
在属性-》link->常规->附加库目录中加入你这个lib文件的路径,
用二三方法就能正确把lib文件加载入工程了。
你这个错误就是没有正确加载造成的。
用二三方法就能正确把lib文件加载入工程了。
你这个错误就是没有正确加载造成的。
#10
project->setting->link->library modules加入MatrixVCDLL.lib
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
#11
项目-》属性-》链接-》常规(路径名)
-》输入(文件)
-》输入(文件)
#12
没有addition Library directory那一项啊
#13
具体在链接哪里输入啊?
#14
我是加载一个VC++数值分析类库,Matrix.h对应MatrixVCDLL.lib,
我有
#include "Matrix.h"
#pragma comment(lib,"MatrixVCDLL.lib")
还是有错误的
#15
可能是C++ 把要导出的函数的名称给改变了,然后连接器找不到名称
#16
要不就是你的lib有问题,打开看看真实的lib名称是否是MatrixVCDLL.lib
这个名称是存储在lib文件中真正的名称
有可能是MatrixVCDLLD.lib也不好说,或者别的名字,自己看看吧
这个名称是存储在lib文件中真正的名称
有可能是MatrixVCDLLD.lib也不好说,或者别的名字,自己看看吧
#17
顶8楼
#18
[Quote=引用 10 楼 xingzhe2001 的回复:]
project->setting->link->library modules加入MatrixVCDLL.lib
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
project->setting->link->library modules加入MatrixVCDLL.lib
project->setting->link->general->addition Library directory 加路径,我这里是vs2005的,vc6也有类似的地方,
#19
珍爱生命 远离vc6
#20
#pragma comment(lib,"这里是你lib文件的路径,绝对路径,相对路径都行,童鞋~")
#21
额···有理···!
#22
#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") 之后会提示
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
#23
#pragma comment(lib, "MatrixVCDLL.lib")是显式加载库的方法,这个库必须要在.exe文件的所在目录下,或者在系统环境变量指定的目录下,或者在Windows系统system32下,或者在project->setting->link->general->addition Library directory所指定的第三方库的路径下。
可以指定绝对路径,但您的的路径写错了,必须写成转义字符
#pragma comment(lib, "D:\\jia\\MatrixVCDLL.lib")。
三种方法都可以,建议显式加载,很清楚。
可以指定绝对路径,但您的的路径写错了,必须写成转义字符
#pragma comment(lib, "D:\\jia\\MatrixVCDLL.lib")。
三种方法都可以,建议显式加载,很清楚。
#24
vc6 的 project/setting里的 link标签项就有添加.lib文件
#25
#include"MatrixVCDLL.h"
#pragma comment(lib,"MatrixVCDLL.lib")
必须加头文件
#pragma comment(lib,"MatrixVCDLL.lib")
必须加头文件
#26
系统环境变量指定的目录怎么看呢?VC运行和windows系统system32有什么联系呢?我看那个类库的说明,是说要我把MatrixVCDLL.dll放到windows目录下或者windows\system下,我的VC是装在D盘的,会不有影响呢?
#27
首先。。搞清楚。。是不是这个lib
#28
以前用过,好像23都行,也没有出问题。学习中。
#29
学习 !
#30
引用 22 楼 h137jj 的回复:
引用 20 楼 only_lonely 的回复:
#pragma comment(lib,"这里是你lib文件的路径,绝对路径,相对路径都行,童鞋~")
#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") 之后会提示
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
应该把“#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") ”
改成“#pragma comment(lib,"D:\\jia\\MatrixVCDLL.lib") ”就好了
引用 20 楼 only_lonely 的回复:
#pragma comment(lib,"这里是你lib文件的路径,绝对路径,相对路径都行,童鞋~")
#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") 之后会提示
D:\jia\jia.cpp(6) : warning C4129: 'j' : unrecognized character escape sequence
D:\jia\jia.cpp(6) : warning C4129: 'M' : unrecognized character escape sequence
Linking...
LINK : fatal error LNK1104: cannot open file "D:jiaMatrixVCDLL.lib"
Error executing link.exe.
好像不识别这个路径啊
应该把“#pragma comment(lib,"D:\jia\MatrixVCDLL.lib") ”
改成“#pragma comment(lib,"D:\\jia\\MatrixVCDLL.lib") ”就好了