最近开始跑老师给的现成软件,记录一下遇到的问题。
首先如何把一个项目跑起来?小白的我快要吐血了。计划之后试试开源项目。
先叨叨两句题外话,太久不用git,上传好像出了点问题。远程仓库和本地仓库地址不一致,上次搞了半天也没弄好,倒是能上传文章了,但还是会报错。过几天有空再搞一下。
技术点
本项目主要用了对设备的程控。NI-VISA是美国国家仪器NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。参考博客如何使用VS2010调用visa进行程控,开始!
下载
所以开始在电脑上安装NI提供的库,如果安装失败的话,重新下载安装包下载。安装失败的原因现在也没搞清楚,难道是以前安装labview的注册表没清干净?其中曲折把系统盘误删文件搞坏还修了好久,泪目。可以写个合集了”这些年我遇到过的麻烦“。
回到正题,
文件安装目录:C:\Program Files (x86)\IVI Foundation\VISA\WinNT
lib文件位置:C:\Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc
.h文件位置:C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Include
如何添加库到工程中?
这里涉及到静态库的使用。之前在课上一知半解,现在终于用到了。参考文章c++静态库与动态库
这里卡了好久,最后采取了文章中提到的方法二:
属性==>配置属性==>链接器==>命令行
输入静态库的完整路径。
之前采用方法三,一直没能导入成功,不知道哪里出了问题,摊手。
属性==>配置属性==>链接器==>常规,附加依赖库目录输入静态库所在的目录
属性==>配置属性==>链接器==>输入,附加依赖库中输入静态库名visa32.lib
此时生成解决方案出现了报错 “LINK:fatal error LNK1104: 无法打开文件‘C:/Program.obj”
解决方案是静态库路径加引号。参见博客
继续报错,无法解析外部符号
参考博客
继续上回分解,发现我整个搞错了。
首先分清楚这几个附加目录分别表示什么。检查发现是添加在C\C++ ==>附加库目录起作用了。
然后解决无法解析外部符号,引用另一个库项目中的实现。完美解决。
完。