为什么我用宏定义编译出错而不用宏定义就没有问题呢
#ifndef  DLL1_API 
#else
#define  DLL1_API  extern "C" _declspec(dllimport)
#endif.cpp中
#define  DLL1_API  extern "C" _declspec(dllexport)编译提示错误
Compiling...
DLLDload.cpp
e:\program_flies\recipe program\dlldload\dlldload.h(40) : error C2146: syntax error : missing ';' before identifier 'CAppConfig'
e:\program_flies\recipe program\dlldload\dlldload.h(40) : error C2501: 'DLL1_API' : missing storage-class or type specifiers
e:\program_flies\recipe program\dlldload\dlldload.h(41) : error C2146: syntax error : missing ';' before identifier 'CProject'
e:\program_flies\recipe program\dlldload\dlldload.h(41) : error C2501: 'DLL1_API' : missing storage-class or type specifiers
e:\program_flies\recipe program\dlldload\dlldload.h(43) : error C2146: syntax error : missing ';' before identifier 'bool'
e:\program_flies\recipe program\dlldload\dlldload.h(43) : error C2501: 'DLL1_API' : missing storage-class or type specifiers
project.cpp
e:\program_flies\recipe program\dlldload\dlldload.h(40) : error C2146: syntax error : missing ';' before identifier 'CAppConfig'
e:\program_flies\recipe program\dlldload\dlldload.h(40) : error C2501: 'DLL1_API' : missing storage-class or type specifiers
e:\program_flies\recipe program\dlldload\dlldload.h(41) : error C2146: syntax error : missing ';' before identifier 'CProject'
e:\program_flies\recipe program\dlldload\dlldload.h(41) : error C2501: 'DLL1_API' : missing storage-class or type specifiers
e:\program_flies\recipe program\dlldload\dlldload.h(43) : error C2146: syntax error : missing ';' before identifier 'bool'
e:\program_flies\recipe program\dlldload\dlldload.h(43) : error C2501: 'DLL1_API' : missing storage-class or type specifiers
Generating Code...
执行 cl.exe 时出错.

解决方案 »

  1.   

    写的比较奇怪:
    #ifdef DLL1_API
    #define PROJECTNAME extern "C" __declspec(dllexport)
    #else
    #define PROJECTNAME extern "C" __declspec(dllimport)
    #endif.h or .cpp中
    #define DLL1_API
    PROJECTNAME BOOL InitializeSomething(LPCTSTR lptszTest);
      

  2.   

    http://www.cppblog.com/zerolee/archive/2007/05/20/24430.html
      

  3.   


    #ifndef DLL1_API 
    #define DLL1_API extern "C" _declspec(dllexport)
    #else
    #define DLL1_API extern "C" _declspec(dllimport)
    #endif.cpp中包含头文件就行了
      

  4.   

    导出函数要用dllexport#define DLL1_API extern "C" _declspec(dllexport)
      

  5.   

    对我想要导出一个类,谁有到处类的完整代码,最好是.h和.cpp内容都有的,我参考一下,谢谢
      

  6.   

    (独钓寒江雪) C/C++ code
    #ifndef DLL1_API 
    #define DLL1_API extern "C" _declspec(dllexport)
    #else
    #define DLL1_API extern "C" _declspec(dllimport)
    #endif.cpp中包含头文件就行了那在头文件的函数前用不用加  DLL1_API 如 DLL1_API bool IsDownLoad()
      

  7.   

    http://www.cppblog.com/zerolee/archive/2007/05/20/24430.html
      

  8.   

    谁有编写动态链接库的视屏(孙鑫)的除外,我看了孙鑫的视频他好像使用win32的那种方式,我用mfc的编译就是通不过,,非常感谢