2018/1/21 ~ 23
记录
1.装VS和Qt插件、halcon插件,较为顺利,一些错误在网上很快得到答案
2.刚开始拿到代码的时候,编译过不去,显示缺失一些文件,从网上找了一些文件塞进去可以编译过去,但是感觉不靠谱。
3.经孟提醒,从楼下的电脑里找对比,在一个文件夹(SiliconSoftware)里发现缺失文件!
4.再次重新添加到代码里,到各种群各种问(! ! !),无果。。。 此处花去许多将近一天!
5.下午去用电脑上的VS,大致上解决问题
残留:
1.QMutex
2.TraceSave resource1.h等文件第一次编译时候丢失,可能是没有加载到项目里的原因
3.新生成的exe必须放在 D:\Program Files\Champion\robominton - 副本 才能运行
4.
5. $
6. 2017 low
GenICam Explorer
microDisplay
silicon software GmbH
学到
1.相对路径的设置
相对路径就是相当于以工程文件(XXXX.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
例如:
robominton.vcxproj是在 F:\BadmitonRobot\BadmitonCode\robominton\robominton.vcxproj
则
F:\BadmitonRobot\BadmitonCode\robominton\src\CLSerial\lib\x64
等价于
..\robominton\src\CLSerial\lib\x64
也就找到了clallserial.lib
2.VS配置里的各种目录
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:
1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:头文件存放目录 #include
如果有XXX.h找不到,设置这个目录可以解决。
2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:lib文件存放目录。
然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:lib文件名。
C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。
所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附加链接库中设置。
其实,一般的库会用#pragma comment(lib,"xxx.lib") 来设置
这个过程出错会出现link error,大概是“未定义的函数XXX”。
3、添加工程引用的dll动态库:把引用的dll放到工程的exe可执行文件所在的目录下。
3. windows环境变量
分为系统变量和用户变量
一个是给操作系统用的
一个是给本机用户用的~~
用户变量只对当前用户有效
系统变量对本机所有用户有效
环境变量的值既可以设置固定的值,也可以设置路径
打开控制面板的环境变量,配置
变量名:HALCONROOT
路径: D:\Code\HALCON12
使用: 用win+R再输入%HALCONROOT%就直接打开了这个目录
在VS里,$(HALCONROOT)\include $(HALCONROOT)\include\HalconCpp 可以直接链接到这个目录里
4. VS的环境变量 $(QTDIR)
这个环境变量不是windows的,而是在给VS装QT插件的时候,$(QTDIR)就等价于路径名Name所代表的路径Path
PS:这个名字是不是QTDIR无所谓
5.Visual Studio 软件是否区分32位和64位?
答:没有64位的专业版,只有32位版:
1、visual studio没有专门的64位版。但32位版可以在64位系统上面正常使用。
2、安装VS2010的时候,在安装选项里面,选择了 X64 Compilers and Tools就可以编译x64版本的程序;
3.VS上可以运行32位 或 64位的程序,但要关联好相关与该程序对应的32位或者64位dll 和 lib