[英]In a VC++ project in Visual Studio, how to I specify /EXPORT symbols?
我有一个makefile项目,使用命令行cl.exe编译器构建和链接DLL,该编译器包含在VC ++ Express(免费)工具中。 我现在想将该makefile项目转换为Visual Studio项目。
DLL实际上不是C ++; 它都是用C写的。
DLL导出少量符号,这些符号由链接到DLL的其他程序调用。 我相信为了生成这个DLL,我需要在链接命令行上为每个导出的符号包含一个/EXPORT:Foo
语句。
我如何在Visual Studio 2008中执行相同的操作? 如何指定链接器选项以从DLL导出特定的一小组函数?
请参阅从DLL导出的前几个小节,其中说,
您可以使用两种方法从DLL导出函数:
创建模块定义(.def)文件并在构建DLL时使用.def文件。 如果要按顺序而不是按名称从DLL导出函数,请使用此方法。
在函数的定义中使用关键字__declspec(dllexport)。
您必须使用链接器“命令行”属性中的“附加选项”并显式添加选项。
我认为大多数人使用__declspec(dllexport)
属性和宏来使它更有用,并使declspec成为库的客户端头文件中的dllimport版本。
或者你可以尝试:
cl /LD hellodll.cpp /link /EXPORT:func01 /EXPORT:func01
对于未由"_declspec(dllexport)"
指定的函数
我没有看到它的GUI选项,因此您可以在项目的属性中的Linker下的Command Line下手动添加它。 不过,我认为大多数人都会使用DEF文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.