繁体   English   中英

在Visual Studio中的VC ++项目中,如何指定/ EXPORT符号?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM