vs项目中的属性设置及编译时遇到的一些问题和解决

vs项目的属性设置:
注意属性设置时界面上方的配置(debug,release…),平台(win32,x64…)

包含目录: 寻找#include<xxx.h>中的xxx.h的搜索目录。
库目录: 寻找lib文件的搜索目录。
1:c/c++:
常规->附加包含目录:
作用:用于寻找#include<xxx.h>中的xxx.h的搜索目录,否则报错**“无法打开源文件 xxx.h”**。
2:链接器:
常规->附加库目录:
作用: 寻找lib文件的搜索目录。
输入->附加依赖项:
作用:lib库名(c++的库会把函数,类的声明放在.h中,实现放在cpp中,编译之后cpp会被打包成一个lib文件,这样可以保护源代码)。

c/c++: 常规->附加包含目录 include目录
链接器: 常规->附加库目录 lib库路径
输入->附加依赖项 lib文件名
添加dll时,直接将.dll文件拖拽到生成的.exe所在文件夹下

vs编译时遇到的问题和解决:
无法解析的外部符号例如:__declspec(dllimport)public:virtual __thiscall DeviceComponent::“DeviceComponent(void)” (_imp??1DeviceComponent@@UAE@XZ),改符号在函数“public:virtual __thiscall AI34981BComponent::"AI34981BComponent(void)” ()??AI34981BComponent@@UAE@XZ)中被引用
这个继承来的虚函数在AI34981BComponent项目中被使用,但找不到来源,需要在链接器的输入中添加附加依赖项(相关的lib)
无法解析的外部符号的几种可能:
1:lib文件未引入。可使用“#pragma comment(lib,“winsock.lib”)”语句添加lib引用,也可以在项目依赖里添加。
2:类方法的实现未加类标识,如“CTest::Connect(void){…}”写成"Connect(void){…}”。
3:没有将项目需要的头文件,源文件加入项目中。
4:引用了不匹配的lib库(相当于没有引用),比如多字节字符集的程序引用了UNICODE字符集的lib。
。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值