我打算在我的 C++ 程序中使用库。开发正在 Linux 上进行,但应用程序旨在同时在 Linux 和 Windows 上编译。我理解 Windows 中共享库(.so)的直接等效项是 DLL,对吗?
在使用 g++ 的 Linux 中,我可以使用-fPIC
和-shared
标志创建共享库。AFAIK,共享库不需要其他代码更改。但在 Windows DLL 中情况有所不同。在那里我应该指定必须使用dllexport导出的函数,对吗?
我的问题是我该如何处理这种情况?我的意思是dllexport在 Linux 中无效,编译器会报错。但它在 Windows 中是必需的。那么如何编写一个可以在两个平台上编译而无需任何代码更改的函数呢?
使用的编译器
- g++ - LINUX
- VC++ - 视窗
任何帮助都会很棒!