Mos*_*Bin 13 c++ linker static-libraries visual-c++
我目前有一个控制台项目,它创建一个.exe文件; 我希望它也创建一个.lib文件,以便编译为DLL的其他项目能够从原始项目中调用函数.
我知道这是可能的,但我找不到怎么做.如何告诉链接器还链接.lib?
Eya*_*nik 18
发布此作为参考我知道原始帖子很久以前发布,但这仍然适用于需要解决此问题的任何人.
转到要为其创建.lib文件的项目,然后执行以下步骤:
最后在命令行中粘贴这个:
@ECHO ON
@ECHO "$(VC_ExecutablePath_x86)\lib.exe" /out:"$(OutDir)$(ProjectName).lib" "$(IntermediateOutputPath)*.obj"
"$(VC_ExecutablePath_x86)\lib.exe" /out:"$(OutDir)$(ProjectName).lib" "$(IntermediateOutputPath)*.obj"
这将调用lib工具从生成的目标文件中生成lib文件.
小智 10
一般来说这是不可能的 - 静态库和可执行文件是完全不同的动物.处理这种情况的方法是创建两个项目 - 一个用于库,其中包含所有功能.还有一个用于可执行文件,它是一个只需调用库中函数的瘦包装器.
如果应用程序 (.exe) 项目中的任何符号被导出(例如使用 __declspec(dllexport) ),将同时生成 .exe 和 .lib 文件请参阅: 为什么我的 Visual C++ .exe 项目构建创建 .lib 和 . exp文件?
| 归档时间: |
|
| 查看次数: |
9850 次 |
| 最近记录: |