C++ 在visualstudio中使用Linux/MinGW编译的libs/dll
更新:我在编译时收到此警告:找到具有不同属性的多个“.text”节 嗨 我已经使用MinGW交叉编译器在Linux中编译了一些库(.a和.dll)。我可以在VisualStudio2008中成功链接它们(.a)。但是,当它运行时(使用.dll),它会以指向空内存地址的地址指针终止 有没有一种方法/一份清单可以让我在VC08中成功地使用这些库 交叉编译器生成C++ 在visualstudio中使用Linux/MinGW编译的libs/dll,c++,visual-c++,gcc,mingw,cross-compiling,C++,Visual C++,Gcc,Mingw,Cross Compiling,更新:我在编译时收到此警告:找到具有不同属性的多个“.text”节 嗨 我已经使用MinGW交叉编译器在Linux中编译了一些库(.a和.dll)。我可以在VisualStudio2008中成功链接它们(.a)。但是,当它运行时(使用.dll),它会以指向空内存地址的地址指针终止 有没有一种方法/一份清单可以让我在VC08中成功地使用这些库 交叉编译器生成 *.dll.a *.dll 谢谢在我看来,双方似乎没有使用相同的调用约定,这意味着导出的dll函数的定义方式存在问题 到目前为止,最简单的方
谢谢在我看来,双方似乎没有使用相同的调用约定,这意味着导出的dll函数的定义方式存在问题 到目前为止,最简单的方法是通过如下定义导出函数,将函数定义为extern“C”:
extern "C"
{
int MyExportedFunction(char *buffer, int length);
void MyOtherFunction();
};
找到了
您必须有一个def文件,并使用VC的lib工具生成导入库。我在头导入中使用了外部“C”。我刚刚注意到。我在编译时发现多个具有不同属性的“.text”节。