【问题标题】:warning MSB8012: TargetPath(C:\wxWidgets-2.9.1\build\wx291_msw_vc10\..\..\lib\vc_lib\wxregex.lib) does not match警告 MSB8012: TargetPath(C:\wxWidgets-2.9.1\build\wx291_msw_vc10\..\..\lib\vc_lib\wxregex.lib) 不匹配
【发布时间】:2011-06-22 07:59:43
【问题描述】:

我收到很多这样的警告:

C:\程序 文件\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5): 警告 MSB8012: TargetPath(C:\wxWidgets-2.9.1\build\wx291_msw_vc10....\lib\vc_lib\wxregex.lib) 与链接器的输出文件不匹配 适当的价值 (C:\wxWidgets-2.9.1\lib\vc_lib\wxregexud.lib)。这可能会导致您的项目构建 不正确。要更正此问题,请 确保 $(OutDir), $(TargetName) 和 $(TargetExt) 属性值与值匹配 在 %(Link.OutputFile) 中指定。

我如何解决这个问题

【问题讨论】:

  • 如果对你有帮助,你应该接受一个答案

标签: visual-c++ compiler-errors wxwidgets


【解决方案1】:

我通过为解决方案中的每个失败项目选择 Properties 然后替换 Configuration Properties -> General -> Target Name 解决了这个问题strong> 到 Configuration Properties -> Librarian (Linker) -> General -> Output file 字段的名称。我相信反向方法也应该通过将后者设置为 来工作,但我不推荐它,因为所有配置都会产生相同的输出。

例如:
图书管理员 -> 常规 -> 输出文件 = ..\..\lib\vc_lib\wxmsw29u_core.lib
常规 -> 目标名称 = wxmsw29u_core

【讨论】:

    【解决方案2】:

    wxregexud.lib 中的 ud 表示 Unicode 构建和调试构建。 wxregex.lib 是一个非 Unicode 非调试构建的库。

    C:\wxWidgets-2.9.1\lib\vc_lib\wxregexud.lib 是库所在的正常位置。由于某种原因,您的目标路径不正确。

    【讨论】:

    • 请不要乱用库构建项目中的编译器/链接器选项。你很容易让事情变得更糟,没有人会知道发生了什么。要选择构建(例如 unicode 版本),请将“解决方案配置”更改为您需要的配置。这将自动调整所有那些棘手的编译器/链接器选项,以适应所选构建所需的选项。
    • 我从未说过要更改库构建项目中的选项!我的意思是在使用 wxWidgets 的项目中,设置这些选项以包含正确的库(unicode、调试等),但我现在意识到有问题的错误与最初构建 wxWidgets 库有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多