0

我在vs2010 Ultimate下批量构建wxwidget,报错:

Build started 2013/3/11 10:41:47.
InitializeBuildStatus:
Touching "vc_mswuddll\stc\stc.unsuccessfulbuild".
CustomBuild:
All outputs are up-to-date.
ClCompile:
All outputs are up-to-date.
All outputs are up-to-date.
ResourceCompile:
All outputs are up-to-date.
ManifestResourceCompile:
All outputs are up-to-date.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\jack\dev\wx\wxWidgets-2.9.4\build\msw\..\..\lib\vc_dll\stc.dll) does not match the Linker's OutputFile property value (C:\Users\jack\dev\wx\wxWidgets-2.9.4\lib\vc_dll\wxmsw294ud_stc_vc_custom.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(stc) does not match the Linker's OutputFile property value (wxmsw294ud_stc_vc_custom). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
LINK : fatal error LNK1104: cannot open file 'C:\Users\jack\dev\wx\wxWidgets-2.9.4\lib\vc_lib\wxscintillad.lib'

我使用同一台PC在两个不同的win7系统(使用win7 32bit和win7 64位构建)中尝试了两次,但这台PC有点旧(2007年制造),但我在笔记本电脑下尝试(2011年制造) ,没有错误。所以我很困惑,我检查了 stc 项目的配置。笔记本电脑和PC之间的所有值都是相同的。任何人都可以面临同样的问题或对我的问题有所了解吗?

4

1 回答 1

0

您是从 Visual Studio 上提供的解决方案构建的吗?

我在 wxWidget 2.8.12 和 Visual Studio 2008 上遇到了很多问题。这可能是因为不同项目之间的依赖关系没有在 Visual Studio 中设置。在构建 wxscintillad 之前,您最终构建了一个依赖于 wxscintillad 的 wxWidget 库。wxWidget 有您必须在他们的网站上手动设置的项目依赖项列表。

另一种解决方案是使用 Visual Studio 命令提示符手动构建,在build\msw\wxWidget 的目录中执行以下操作:

nmake -f makefile.vc MONOLITHIC=0 SHARED=0 USE_EXCEPTIONS=1 USE_RTTI=1 RUNTIME_LIBS=dynamic CPPFLAGS="/Zc:wchar_t- /EHa" BUILD=release DEBUG_INFO=1

调试命令行是:

nmake -f makefile.vc MONOLITHIC=0 SHARED=0 USE_EXCEPTIONS=1 USE_RTTI=1 RUNTIME_LIBS=dynamic CPPFLAGS="/Zc:wchar_t- /EHa" DEBUG_INFO=1

最终,如果您需要清理并从头开始:

  • 删除 $WXWIN\wx\build\msw\ 下的所有文件夹(不是文件)
  • 删除$WXWIN\wx\lib\下的所有文件
于 2013-03-12T13:44:50.740 回答