我在用  ch341芯片  做数据采集  就是从pc外现场采集数据然后通过  ch341上传到电脑里  然后再屏幕上显示  目前不用做界面   我想知道大概步骤    我目前的做法  是 通过芯片网站提供的一个关于  ch341的 dll.h 的头文件(应用层接口库) 在vs2010上建立控制台  工程  加入dll.h   然后直接在新建的 cpp文件里调用dll.h中的相关关函数  但调试有错误如下
 
错误 2 error LNK2019: 无法解析的外部符号 _CH341OpenDevice@4,该符号在函数 _main 中被引用 d:\my documents\visual studio 2010\Projects\ch341显示\ch341显示\ch341显示.obj ch341显示
 
错误 3 error LNK1120: 1 个无法解析的外部命令 d:\my documents\visual studio 2010\Projects\ch341显示\Debug\ch341显示.exe 1 1 ch341显示望过路的高人  留下点什么  感激涕零

解决方案 »

  1.   

    CH341OpenDevice这个没有定义?或者你没有加载相关的库文件?
      

  2.   

    有头文件不行,如果只有头文件和dll的话,那用LoadLibrary-GetProcAddress-FreeLibrary三步曲进行的函数调用吧。
    出错的原因就是没有找到连接用到的函数。
      

  3.   

    如果他们没有提供源代码的话,就像你调用的那些函数的源代码,那就不行。如果他们以其他方式提供,就像.lib或.dll,就可以用了。
      

  4.   

    LZ去了解下怎么样在vc中使用dll文件吧。你这个如果只有dll文件的话就如3L所说的那样去做或者就让芯片商提供开发用的头文件和lib文件
      

  5.   

    我将名为  ch341dll.dll  ch341dll(object file library)  ch341dll.h三个文件  都放在工程目录下了   在.cpp中也include 上了   还是不行   这个dll  和object file library是我从南京ch341芯片厂家网站下载的   还是同样的错误  在线求救中
      

  6.   

    是不是应该有个lib扩展名的文件?你加入工程了吗?
      

  7.   

    #pragma comment(lib, "CH341DLL.lib")
      

  8.   

    下载地址
    http://winchiphead.com/download/index.htm
      

  9.   

      不就是 ch341dll.h  object file library  ch341dll这三个文件吗  你说的加入工程  就是把他们复制到工程目录下吧
      

  10.   

    object file library 这个是什么?
    你应该还会有个ch341dll.lib文件
      

  11.   

    有了 其关键作用的是这个.lib  还是 .dll  
      

  12.   

    object file library   就是 .lib  另外#pragma comment(lib, "CH341DLL.lib")必须加入吗
      

  13.   

    本来照例路过的,想想来上堂扫盲课吧。
    所谓的lib加入工程最简单的做法 
    右击工程名 ->属性->连接器->输入->附加依赖项 :  里面添加你的lib
      

  14.   

    我直接右击工程名  ——添加——现有项——ch341dll.lib  成功了
    而且  我把.dll删除了也照样行   大概我设置的使用静态链接库吧
      

  15.   

    编译的时候不需要dll文件,在执行的时候才需要dll。
      

  16.   

    一定要  把dll和lib复制到  工程目录下吗  
    现在可以了调用函数了    但我用了一个CH341OpenDevice(0);函数  来打开ch341  
    但奇怪的是  好像不管我插上  还是拔出ch341他都能打开  另外还有我用如下函数想获取芯片版本号,但也总是获取失败  好像调试程序的执行  根本和芯片没任何联系 
    if (CH341GetVerIC(0)==0)
    {
            cout<<"huoqushibai\n " ;

    else
    {
    cout<<CH341GetVerIC ;
    }
      

  17.   

    看他们的开发包中那些API的用法