试了一下,在DLL增加一个extern "c" __declspec(dllexport) int fnADD(int i, int j)的函数是可以正常在QT中调用的。 但class __declspec(dllexport) classA 的方式就没办法在QT中使用这个导出类classA。 出现undefined reference to 的问题。 怀疑是c与c++在命名方式的不同。可能VC用C++方式编译,而QT用C方式编译,这样需要把VC的导出函数用 extern "c" 标明,在QT中才可以使用。 但要是导出类如何标明为 extern "c" 呢。这应该不可能的,导出类只能用c++方式编译吧。那么在QT中就应该按照C++命名方式调用导出类。如何知道QT是按照c或者c++去编译的呢。看到过.pro文件中加 language = c++ 的。但在QT4.5.2加进去没有效果。