在这种情况下使用 __declspec(dllexport) 的正确方法是什么
我有一个不大的数学图书馆。作者大量使用 Eigen 库。该库旨在在 Linux 中使用(即作者声称该库在 Windows 中得到部分支持,我将很快告诉您原因)并且只有一个 dll。 CMakeLists.txt 可用,但当我在 Windows 10 中使用它时,Visual Studio 生成没有其库的 dll。我相信这是因为源代码缺少__declspec(dllexport)
。向每个类添加 __declspec(dllexport) 是可行的,但由于使用了 Eigen 和 STL 库,因此会出现大量警告;但是,我已经尝试过这个解决方案,但是当我在另一个项目中使用该 dll 时,代码崩溃了。使用 dllexport
以便代码编译时不会出现警告并生成 .lib 的正确方法是什么?如果这可以从 CMakeLists.txt 处理,那就太好了。
I have a math library which is not large. The authors heavily use Eigen library. The library is meant to be used in Linux (i.e. the authors claim the library is partially supported in Windows and I will tell you shortly why) and there is only one dll. CMakeLists.txt is available but when I use it in Windows 10, Visual Studio generates dll without its lib. I believe this is because the source codes are missing __declspec(dllexport)
. Adding __declspec(dllexport)
to each class is doable but because Eigen and STL libraries are used, there is a plethora of warnings; however, I've tried this solution but when I use the dll in another project, the code crashes. What is the right way to use dllexport
so that the code should compile without warnings and generate the .lib? It would be great if this can be handled from CMakeLists.txt.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论