使用Visual Studio创建C ++ DLL

时间:2009-03-10 19:47:17

标签: c++ winapi visual-c++ dll

我正在使用Visual Studio 2008 Express Edition创建一个简单的C ++ DLL项目。 我在命名空间中有几个类,其中的一些非静态函数和构造函数用__declspec(dllexport)声明。 所有这些功能都已实施。

我还有一个extern "C" BOOL APIENTRY DllMain函数,只返回TRUE

当我点击Debug(或Release)时,它成功构建,没有错误或警告。 输出文件夹(“Debug /”或“Release /”)获取文件,如“BuildLog.htm”,每个源文件一个“.obj”文件,“vc90.pdb”,“vc90.idb”,“[DLLNAME] ] .dll.embed.manifest“,”[DLLNAME] .dll.embed.manifest.res“,”[DLLNAME] .dll.intermediate.manifest“但......不是DLL本身。

这是我第一次尝试编译这个项目(所以我以前从未成功编译过),而且我对C ++ / DLL没什么经验,尽管我之前知道独立的C ++并且创建了Linux C共享对象。

我做错了什么?是否有任何我需要的特定文件?

2 个答案:

答案 0 :(得分:8)

我在目录结构(解决方案所在的目录结构)中查找更高一点,看看你的Debug / Release文件夹(带有DLL)是否存在。

我认为默认是将实际的DLL放在解决方案目录中的文件夹中,而不是项目目录中(我认为您希望为解决方案构建的所有DLL都转到同一位置)< / p>

答案 1 :(得分:1)

右键点击<ProjectsName>中的Solution Explorer View,选择Properties,转到Configuration Properties > General标签,然后查看Output Directory字段。该路径可能包含一些宏,例如$(SolutionDir)$(ConfigurationName)等。点击它,选择Edit然后当弹出一个窗口时,选择Macros以查看它们实际意味着什么,例如哪个目录SolutionDir映射到。您可以从那里推断出输出dll的路径。