解决使用VC 6.0编程遇到的问题
受到加工现场电脑管制的限制,电脑无法安装Visual Studio 2012软件。为了适应现场的环境,不得不使用VC 6.0(免安装版本)来开发现场设备交互功能。目前主要是对FANUC设备进行二次开发,通过智能铣削平台与设备进行对接,实现远程控制设备、修改参数和基本信息采集。
问题1:编写DLL时出现错误提示
当用VC 6.0编写DLL时,可能会遇到"cannot open file ''"的错误提示。这是因为程序默认在D:/VC98/Lib路径下查找文件,而实际上我的程序并没有放在D盘根目录下。解决方法是自行修改程序中的文件路径,或直接将程序放置在与该路径相同的位置。
问题2:无法获取函数
在引入Fwlib32.h后,仍然无法获取对应的函数,并且编译时出现"unresolved external symbol "的错误提示。这可能是因为没有找到对应的文件。解决方法是在函数中直接引入文件,可以使用“#pragma comment(lib, '')”语句,或者在项目的设置中添加文件。
问题3:VC 6.0不显示行号
由于VC 6.0默认不显示行号,当代码较多时,查找问题变得不方便,很难知道自己位于哪一行。解决方法是下载一个名为VC6LineNumberAddin的插件,将VC6LineNumberAddin.dll文件放置在VC 6.0的安装目录下,并注册该插件。然后在菜单栏的Tools -> Customize -> Add-ins and Macro Files中添加插件并选中,重启VC 6.0即可显示行号。
问题4:警告提示不一致的dll链接
编译后可能会出现"warning C4273: '*' inconsistent dll linkage"的警告提示。虽然编译通过,但看起来仍然不舒服。该问题通常是因为在test.h头文件中定义了_declspec(dllimport),而实际上应该使用_declspec(dllexport)。dllimport用于从其他动态库中声明导入函数、类、对象等供本动态库使用,而dllexport用于在动态库中声明导出函数、类、对象等供外部调用。所以正确的做法是将函数、类等声明为导出函数,即使用__declspec(dllexport)。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。