如何将visual studio 2010解决方案构建为独立的dll
How to build a visual studio 2010 solution into a standalone dll?
我有一个visual studio 2010项目,使用静态和动态库(.lib
和.dll
),该项目在发布和调试模式下都被成功编译和构建为.exe
,代码为c和c++。
将所有解决方案编译并包装为一个独立的.dll
文件的正确方法是什么。
我想要一个dll文件,我可以安全地将其加载到其他c,c++,c#项目中。
在我的情况下,我想在teratent和其他简单的自行开发的c#应用程序中加载它。
这将把解决方案中所有项目的对象文件直接链接到项目输出中(通过依赖项跟踪)。但是,当你使用这个时要小心,如果你在EXE和你链接的DLL中使用这个导出符号,你的EXE也会导出它们。
更新:
这里有更多的细节:发生的情况是,链接器没有链接DLL(这假设你有你想链接的DLL在解决方案中被设置为项目的依赖项)来生成单独的二进制文件,而是从每个单独的项目依赖项中获取输出,并将它们直接链接到最终的可执行文件/DLL中,从而创建了一个单片DLL。
一个副作用是(取决于代码)输出的总体大小减少了一点,整体DLL(或EXE)通常可能很大,但由于链接时间优化,其大小小于单个输出文件的总和。链接对象导出的任何符号都将由最终DLL导出,因为它们在编译步骤中被标记为这样。
可能有一个陷阱,但在VS2010中,您只需点击启动项目,选择"属性"->"配置属性"->"常规"->"配置类型"->将其设置为"动态库(dll)"
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 独立读取-修改-写入顺序
- CMake 将目标作为项目的一部分独立构建
- 以独立于路径/安装/构建的方式了解资源路径的好方法
- 使用Qt制作静态构建(独立应用程序)
- 如何构建独立于编译器的C++库(适用于 Solaris Studio 和 gcc)
- 如何用visual C++构建独立的SDL项目
- 如何将visual studio 2010解决方案构建为独立的dll
- 构建独立的库
- 如何在c++中使用qmake构建一个独立的共享库
- 创建目录层次结构,独立构建子目录
- 用c++插件为nodejs应用程序构建一个独立的可执行文件
- NDK12b: clang和gcc使用独立的工具链和相同的构建脚本生成不同的ELF
- CMake从Ubuntu为RedHat EL6构建了一个独立的二进制文件,其中包含依赖的共享库
- 在Windows8上使用Qtcreator构建(编译)一个基本的独立.exe应用程序