使用dllexport

时间:2017-07-01 12:26:27

标签: c++ mingw

我创建了一个小测试程序来理解 __declspec(dllimport) __declspec(dllexport) preproc。

在我的解决方案中,我有:

1)文件:produit.h

#pragma once

int  facteur = 5;
int __declspec(dllexport) base = 100;
int __declspec(dllexport) produit(int, int);

2)文件:produit.cpp

#include "produit.h"

int produit(int a, int b)
{
   return facteur * (a*b);
}

3)文件:produitEx.h

#pragma once

__declspec(dllimport) int base;
__declspec(dllimport) int produit(int a, int b);

4)文件:main.cpp

#include <iostream>
#include "produitEx.h"
using namespace std;

int main()
{
    int a =5, b=2, c;
    c = base + produit(a, b);
    std::cout << c << std::endl;
    return 0;
}

看起来很清楚,没有什么特别的,只需导出功能并导入它们。

编译时(使用MinGW)我得到了这两个错误:

  

.... / main.cpp:8未定义引用`_imp ___ Z7produitii'

     

.... / main.cpp:8未定义引用`_imp__base'

所以我不知道连接器有什么问题?怎么解决?

谢谢。 (我使用MinGW和NetBeans Cpp)

只需添加:相同的代码在Visual Studio上运行。

0 个答案:

没有答案