我的一个项目,应用程序使用了lib_A,而lib_A的编译和生成用到了lib_Blib_B中设置几个字符数组全局变量现在希望app能够用到lib_B中的这几个字符数组全局变量请问如何导出这几个字符数组全局变量?
他们定义在什么位置比较合适???
应用程序怎样访问到?

解决方案 »

  1.   

    静态库中不用做任何导出。应用程序在导入lib后,按照下面的方式申明一下就可以使用变量了,放在头文件或者cpp文件都可以
    extern char a[16];
    extern char b[32];
      

  2.   

    抱歉,我这样做了,发现错了error LNK2001: unresolved external symbol "char * TonePath_ring" (?TonePath_ring@@3PADA)
    对了,我仔细看了一下,我的LIB_A是动态库DLL,它包含了lib_B等几个静态库我重新描述一下:
    我的一个项目,应用程序使用了lib_A(动态库DLL),而lib_A的编译和生成用到了lib_B(静态库lib)lib_B中设置几个字符数组全局变量 现在希望app能够用到lib_B中的这几个字符数组全局变量 请问如何导出这几个字符数组全局变量? 
    他们定义在什么位置比较合适??? 
    应用程序怎样访问到? 
      

  3.   

    Lib里面这样申明变量:
    __declspec(dllexport) char a[16];app里这样使用变量:
    __declspec(dllimport) char a[16];
      

  4.   

    直接extern说明就可以,但是在编译的时候要加入lib_b这个静态库