我是C/C++编程的新手,我需要创建一个dll文件,以便算法模型可以与调用它的另一个程序交互。我用C和C++编写了一个带有函数原型和虚拟返回值的空函数,并分别用gcc和g++编译了它们。从C文件生成的dll文件很容易与父程序集成,并返回所需的输出。然而,对于C++,该程序表示无法定位初始化函数。这两个文件中的代码结构如下:
void initialise (int a) {
return 1;
}
void body (int b) {
return 1;
}
void close () {
return 1;
}
编译方法(分别使用明gcc和g++ )
gcc -c test.c
gcc -shared -o test1.dll test.o
g++ -c test.c
g++ -shared -o test2.dll test.o
我需要cpp来继续我的项目,所以不能使用c。我如何使用C编译dll以避免出现这个错误?另外,请提到C和C++在编译方面有什么不同是导致这个问题的原因吗?
发布于 2017-11-07 13:41:49
尝试: extern "c“__declspec( dllimport )
https://stackoverflow.com/questions/47165684
复制相似问题