我想要得到std :: string/std :: wstring从Qt中的连接DLL返回的值,我有这个问题。从DLLQt和VS C++ dll函数返回值
代码:在我的Qt应用程序(Qt Creator中)
using namespace std;
extern "C++" __declspec(dllexport) string test()
{
return "Passed!";
}
代码:
typedef std::string (*Test)();
QLibrary *lib = new QLibrary("dllname");
lib->load();
.... dll load check ....
Test test = (Test) lib->resolve("test");
std::string s = test();
QString name = QString::fromStdString(s);
在结果 “名” 变量将有 “H” insted的的 “过去了!” 我做错了什么?
在此先感谢
你是否动态链接到相同的运行时? –
是的,链接在Qt Ctreator,在VS2010中编译的dll – Nek
你的Qt应用程序也需要链接到MSVC运行时。哦,没有外部的“C++”。 –