VS2012中的DLL构建 - 不显示DLL文件

时间:2014-10-16 10:42:28

标签: c++ visual-studio-2012 dll

在VS 2012中,我启动了一个DLL库项目,添加了一些代码,点击Build并且没有出现DLL。

我知道这里有关于同一主题的类似问题,但是

  1. 我检查了输出文件夹(设置为隐式* $(SolutionDir)$(配置)*)
  2. 没有混淆Debug和Release
  3. 等。
  4. 输出文件夹包含构建后的内容 - .lastbuildstate文件和.log文件。

    .lastbuildstate文件的内容是

    #v4.0:v110:false
    Debug|Win32|D:\Desktop\newOne\|
    

    而.log文件的内容是

    Build started 16.10.2014 12:28:52.
         1>Project "D:\Desktop\newOne\newOne.vcxproj" on node 2 (Build target(s)).
         1>InitializeBuildStatus:
             Creating "Debug\newOne.unsuccessfulbuild" because "AlwaysCreate" was specified.
           FinalizeBuildStatus:
             Deleting file "Debug\newOne.unsuccessfulbuild".
             Touching "Debug\newOne.lastbuildstate".
         1>Done Building Project "D:\Desktop\newOne\newOne.vcxproj" (Build target(s)).
    
    Build succeeded.
    
    Time Elapsed 00:00:00.02
    

    我尝试从头开始创建另一个DLL项目,使用相同的代码,结果是一样的。

    非常感谢任何帮助。

    丹尼尔

1 个答案:

答案 0 :(得分:0)

在大多数情况下,人们会查看错误的目录(例如this问题),但通常构建日志会声明输出,但您的日志似乎是空的。我会建议:

1)检查你的dll是否实际导出任何符号(函数/类) - 我实际上不确定VS2012是否根据导出符号的存在生成dll,但仍然

2)如果你构建的是整个解决方案而不仅仅是项目检查DLL项目是否实际标记为构建(很小的机会,但仍然)

<强>更新

我检查过符号导出不会影响dll的生成 - 我设置了一个空项目并添加了一些未导出的函数,但仍然有一个正常的构建日志:

1>------ Build started: Project: EmptyDllTest, Configuration: Debug Win32 ------
1>  Source.cpp
1>  EmptyDllTest.vcxproj -> c:\users\user\documents\visual studio 2012\Projects\EmptyDllTest\Debug\EmptyDllTest.dll
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

我可以使用完全空的解决方案重现您的日志。您是否因为某种原因没有将源文件添加到项目中或被排除在外的任何机会?