[英]Creating shared library in Windows (using MSVC compiler)
如下所述,我对命令行选项及其在msvc中的行为的查询很少:
1)如何建立/创建动态库?
说我有两个文件mul.cpp
和sum.cpp
:
多点
#include "mul.h"
int mul(int a, int b)
{
return (a*b);
}
sum.cpp
#include "sum.h"
int sum(int a, int b)
{
return (a+b);
}
这是非常通用的独立于平台的实现。
main.cpp
#include <iostream>
#include "mul.h"
#include "sum.h"
int main(int argc, char **argv)
{
std::cout << "mul(2,5) = " << mul(2,5) << std::endl;
std::cout << "sum(2,5) = " << sum(2,5) << std::endl;
return 0;
}
我想创建共享库sum.dll
和mul.dll
,最后将它们与main.o
链接以使用命令提示符生成可执行文件?
但这并没有说明使用它的命令行。 那么,如何在不担心手动创建.def
文件或对函数使用__declspec(dllexport)的情况下创建dll
呢?
正如通过链接所提到的,可以将/DEF
或/DUMBIN
用作同一对象,但是如何在本示例中使用它呢?
2)如何为调试构建实现相同的示例?
请执行以下步骤:
#define
将其定义为非MS Windows的所有内容为空。 不过,您可能要使用GCC可见性注释。 另外,请查看诸如Boost,libSigC ++,wxWidgets,STLport等跨平台库,以获得可以在多个平台上编译的代码示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.